Transmitting apparatus and interleaving method thereof

ABSTRACT

A transmitting apparatus is provided. The transmitting apparatus includes: an encoder configured to generate a low-density parity check (LDPC) codeword by LDPC encoding of input bits based on a parity check matrix including information word bits and parity bits, the LDPC codeword including a plurality of bit groups each including a plurality of bits; an interleaver configured to interleave the LDPC codeword; and a modulator configured to map the interleaved LDPC codeword onto a modulation symbol, wherein the interleaver is further configured to interleave the LDPC codeword such that a bit included in a predetermined bit group from among the plurality of bit groups constituting the LDPC codeword onto a predetermined bit of the modulation symbol.

CROSS-REFERENCE TO THE RELATED APPLICATIONS

This application is a Continuation of U.S. application Ser. No.15/783,162 filed Oct. 13, 2017, which is a Continuation of U.S.application Ser. No. 14/716,132 filed May 19, 2015, which issued as U.S.Pat. No. 9,800,269 on Oct. 24, 2017, and which claims priority from U.S.Provisional Application No. 62/001,155 filed on May 21, 2014 and KoreanPatent Application No. 10-2015-0000697 filed on Jan. 5, 2015, thedisclosures of which are incorporated herein by reference in theirentirety.

BACKGROUND 1. Field

Apparatuses and methods consistent with exemplary embodiments relate toa transmitting apparatus which processes and transmits data, and aninterleaving method thereof.

2. Description of the Related Art

In the 21st century information-oriented society, broadcastingcommunication services are moving into the era of digitalization,multi-channel, wideband, and high quality. In particular, as highquality digital televisions, portable multimedia players and portablebroadcasting equipment are increasingly used in recent years, there isan increasing demand for methods for supporting various receivingmethods of digital broadcasting services.

In order to meet such demand, standard groups are establishing variousstandards and are providing a variety of services to satisfy users'needs. Therefore, there is a need for a method for providing improvedservices to users with high decoding and receiving performance.

SUMMARY

Exemplary embodiments of the inventive concept may overcome the abovedisadvantages and other disadvantages not described above. However, itis understood that the exemplary embodiment are not required to overcomethe disadvantages described above, and may not overcome any of theproblems described above.

The exemplary embodiments provide a transmitting apparatus which can mapa bit included in a predetermined group from among a plurality of groupsof a low density parity check (LDPC) codeword onto a predetermined bitof a modulation symbol, and transmit the bit, and an interleaving methodthereof.

According to an aspect of an exemplary embodiment, there is provided atransmitting apparatus which may include: an encoder configured togenerate an LDPC codeword by LDPC encoding of input bits based on aparity check matrix comprising information word bits and parity bits,the LDPC codeword comprising a plurality of bit groups each comprising aplurality of bits; an interleaver configured to interleave the LDPCcodeword; and a modulator configured to map the interleaved LDPCcodeword onto a modulation symbol, wherein the interleaver is furtherconfigured to interleave the LDPC codeword such that a bit included in apredetermined bit group from among the plurality of bit groupsconstituting the LDPC codeword onto a predetermined bit of themodulation symbol.

The parity check matrix may be formed of an information word submatrixand a parity submatrix. Each of the plurality of bit groups constitutingthe LDPC codeword may be formed of M number of bits. M may be a commondivisor of N_(ldpc) and K_(ldpc) and may be determined to satisfyQ_(ldpc)=(N_(ldpc)−K_(ldpc))/M. In this case, Q_(ldpc) may be a cyclicshift parameter value regarding columns in a column group of theinformation word submatrix of the parity check matrix, N_(ldpc) may be alength of the LDPC codeword, and K_(ldpc) may be a length of theinformation word bits of the LDPC codeword.

In addition, the interleaver may include: a group interleaver configuredto divide the LDPC codeword into the plurality of bit groups andrearrange an order of the plurality of bit groups in bit group wise; anda block interleaver configured to interleave the plurality of bit groupsthe order of which is rearranged.

The transmitting apparatus may further include a parity interleaverconfigured to interleave parity bits of the LDPC codeword. Then, thegroup interleaver may be configured to divide the LDPC codeword, ofwhich the parity bits are interleaved, into the plurality of bit groupsand rearrange the order of the plurality of bit groups in bit group wise

The group interleaver may be configured to rearrange the order of theplurality of bit groups in group wise by using Equation 21.

Here, in Equation 21, π(j) may be determined based on at least one of alength of the LDPC codeword, a modulation method, and a code rate.

The π(j) may be determined using a density evolution method and at leastone of a bit error rate (BER) and a frame error rate (FER) of theplurality of bit groups. In the density evolution method, a probabilitydensity function (PDF) with respect to a log-likelihood ratio (LLR) ofone bit group having the least noise value among the plurality of bitgroups may be selected first from a plurality of PDFs, and then, a nextPDF with respect to an LLR of another bit group may be selected untilall PDFs are selected for LLR values of the plurality of bit groups.

In Equation 21, π(j) can be defined as Table 25, when a length of theLDPC codeword is 16200, the modulation method is 64-QAM, and the coderate is 5/15.

The block interleaver may be configured to interleave by writing bitsincluded in the plurality of bit groups a plurality of columns in bitgroup wise in a column direction, and reading the plurality of columns,in which the bits included in the plurality of bit groups are written inbit group wise, in a row direction.

In this case, the block interleaver may be configured to serially write,in the plurality of columns, bits included in at least some bit groupswhich are writable in the plurality of columns in bit group wise fromamong the plurality of bit groups, and divide bits included in bitgroups other than the at least some bit groups in an area which isdifferent from an area where the bits included in the at least some bitgroups are written in the plurality of columns in bit group wise.

The block interleaver may be configured to divide the plurality ofcolumns, each comprising a plurality of rows, into a first part and asecond part. Here, the block interleaver may be further configured towrite bits included in at least some bit groups in the first part suchthat bits included in a same bit group is written in a same column inthe first part, and write bits included in at least one bit group otherthan the at least some bit groups in the second part such that bitsincluded in a same bit group is written in different columns in thesecond part.

According to an aspect of another exemplary embodiment, there isprovided an interleaving method of a transmitting apparatus. The methodmay include: generating an LDPC codeword by LDPC encoding of input bitsbased on a parity check matrix comprising information word bits andparity bits, the LDPC codeword comprising a plurality of bit groups eachcomprising a plurality of bits; interleaving the LDPC codeword; andmapping the interleaved LDPC codeword onto a modulation symbol, whereinthe interleaving is performed such that a bit included in apredetermined bit group from among the plurality of bit groupsconstituting the LDPC codeword is mapped onto a predetermined bit of themodulation symbol.

The parity check matrix may be formed of an information word submatrixand a parity submatrix. Each of the plurality of bit groups constitutingthe LDPC codeword may be formed of M number of bits, and M may be acommon divisor of N_(ldpc) and K_(ldpc) and may be determined to satisfyQ_(ldpc)=(N_(ldpc)−K_(ldpc))/M. In this case, Q_(ldpc) may be a cyclicshift parameter value regarding columns in a column group of theinformation word submatrix of the parity check matrix, N_(ldpc) may be alength of the LDPC codeword, and K_(ldpc) may be a length of theinformation word bits of the LDPC codeword.

The interleaving may include: dividing the LDPC codeword into theplurality of bit groups and rearranging an order of the plurality of bitgroups in group wise; and interleaving the plurality of bit groups theorder of which is rearranged.

The above method may include interleaving parity bits of the LDPCcodeword. In this case, the LDPC codeword, of which the parity bits areinterleaved, are divided into the plurality of bit groups for therearranging the order of the plurality of bit groups in bit group wise.

The rearranging may include rearranging the order of the plurality ofbit groups in group wise by using the Equation 21:

In Equation 21, π(j) may be determined based on at least one of a lengthof the LDPC codeword, a modulation method, and a code rate.

The π(j) may be determined using a density evolution method and at leastone of a bit error rate (BER) and a frame error rate (FER) of theplurality of bit groups. In the density evolution method, a probabilitydensity function (PDF) with respect to a log-likelihood ratio (LLR) ofone bit group having the least noise value among the plurality of bitgroups may be selected first from a plurality of PDFs, and then, a nextPDF with respect to an LLR of another bit group may be selected untilall PDFs are selected for LLR values of the plurality of bit groups.

In Equation 21, when the length of the LDPC codeword is 16200, themodulation method is 64-QAM, and the code rate is 5/15, π(j) may bedefined as Table 25 shown below.

The interleaving the plurality of bit groups may include interleaving bywriting bits included in the plurality of bit groups in a plurality ofcolumns in bit group wise in a column direction, and reading theplurality of columns, in which the bits included in the plurality of bitgroups are written in bit group wise, in a row direction.

In this case, the interleaving the plurality of bit groups may include:serially writing, in the plurality of columns, bits included in at leastsome bit groups writable in the plurality of columns in bit group wisefrom among the plurality of bit groups, and dividing bits included inbit groups other than the at least some bit groups in an area which isdifferent from an area where the bits included in the at least some bitgroups are written in the plurality of columns in bit group wise.

The interleaving the plurality of bit groups may include: dividing theplurality of columns, each including a plurality of rows, into a firstpart and a second part; writing bits included in at least some bitgroups in the first part such that bits included in a same bit group iswritten in a same column in the first part; and writing bits included inat least one bit group other than the at least some bit groups in thesecond part such that bits included in a same bit group is written indifferent columns in the second part.

According to various exemplary embodiments, improved decoding andreceiving performance can be provided.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and/or other aspects will be more apparent by describing indetail exemplary embodiments, with reference to the accompanyingdrawings, in which:

FIGS. 1A to 12 are views to illustrate a transmitting apparatusaccording to exemplary embodiments;

FIGS. 13 to 18 are views to illustrate a receiving apparatus accordingto exemplary embodiments;

FIG. 19 is a block diagram to illustrate a configuration of atransmitting apparatus, according to an exemplary embodiment;

FIGS. 20 to 22 are views to illustrate a configuration of a parity checkmatrix, according to exemplary embodiments;

FIG. 23 is a block diagram to illustrate a configuration of aninterleaver, according to an exemplary embodiment;

FIGS. 24 to 26 are views to illustrate an interleaving method, accordingto exemplary embodiments;

FIGS. 27 to 32 are views to illustrate an interleaving method of a blockinterleaver, according to exemplary embodiments;

FIG. 33 is a view to illustrate an operation of a demultiplexer,according to an exemplary embodiment;

FIG. 34 is a block diagram to illustrate a configuration of a receivingapparatus, according to an exemplary embodiment,

FIG. 35 is a block diagram to illustrate a configuration of adeinterleaver, according to an exemplary embodiment;

FIG. 36 is a view to illustrate a deinterleaving method of a blockdeinterleaver, according to an exemplary embodiment;

FIG. 37 is a flowchart to illustrate an interleaving method, accordingto an exemplary embodiment;

FIG. 38 is a block diagram illustrating a configuration of a receivingapparatus according to an exemplary embodiment;

FIG. 39 is a block diagram illustrating a demodulator according to anexemplary embodiment; and

FIG. 40 is a flowchart provided to illustrate an operation of areceiving apparatus from a moment when a user selects a service untilthe selected service is reproduced, according to an exemplaryembodiment.

DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS

Hereinafter, various exemplary embodiments will be described in greaterdetail with reference to the accompanying drawings.

In the following description, same reference numerals are used for thesame elements when they are depicted in different drawings. The mattersdefined in the description, such as detailed construction and elements,are provided to assist in a comprehensive understanding of the exemplaryembodiments. Thus, it is apparent that the exemplary embodiments can becarried out without those specifically defined matters. Also, functionsor elements known in the related art are not described in detail sincethey would obscure the exemplary embodiments with unnecessary detail.

FIG. 1A is provided to explain transmitting apparatus according to anexemplary embodiment.

According to FIG. 1A, a transmitting apparatus 10000 according to anexemplary embodiment may include an Input Formatting Block(or part)11000, 11000-1, a BIT Interleaved and Coded Modulation (BICM) block12000, 12000-1, a Framing/Interleaving block 13000, 13000-1 and aWaveform Generation block 14000, 14000-1.

The transmitting apparatus 10000 according to an exemplary embodimentillustrated in FIG. 1A includes normative blocks shown by solid linesand informative blocks shown by dotted lines. Here, the blocks shown bysolid lines are normal blocks, and the blocks shown by dotted lines areblocks which may be used when implementing an informative MIMO.

The Input Formatting block 11000, 11000-1 generates a baseband frame(BBFRAME) from an input stream of data to be serviced. Herein, the inputstream may be a transport stream (TS), Internet protocol (IP) stream, ageneric stream (GS), a generic stream encapsulation (GSE), etc.

The BICM block 12000, 12000-1 determines a forward error correction(FEC) coding rate and a constellation order depending on a region wherethe data to be serviced will be transmitted (e.g., a fixed PHY frame ormobile PHY frame), and then, performs encoding. Signaling information onthe data to be serviced may be encoded through a separate BICM encoder(not illustrated) or encoded by sharing the BICM encoder 12000, 12000-1with the data to be serviced, depending on a system implementation.

The Framing/Interleaving block 13000, 13000-1 combines time interleaveddata with signaling information to generate a transmission frame.

The Waveform Generation block 14000, 14000-1 generates an OFDM signal inthe time domain on the generated transmission frame, modulates thegenerated OFDM signal to a radio frequency (RF) signal and transmits themodulated RF signal to a receiver.

FIGS. 1B and 1C are provided to explain methods of multiplexingaccording to an exemplary embodiment.

FIG. 1B illustrates a block diagram to implement a Time DivisionMultiplexing according to an exemplary embodiment.

In the TDM system architecture, there are four main blocks(or parts):the Input Formatting block 11000, the BICM block 12000, theFraming/Interleaving block 13000, and the Waveform Generation block14000.

Data is input and formatted in the Input Formatting block, and forwarderror correction applied and mapped to constellations in the BICM block12000. Interleaving, both time and frequency, and frame creation done inthe Framing/Interleaving block 13000. Subsequently, the output waveformis created in the Waveform Generation block 14000.

FIG. 2B illustrates a block diagram to implement a Layered DivisionMultiplexing (LDM) according to another exemplary embodiment.

In the LDM system architecture, there are several different blockscompared with the TDM system architecture. Specifically, there are twoseparate Input Formatting blocks 11000, 11000-1 and BICM blocks 12000,12000-1, one for each of the layers in LDM. These are combined beforethe Framing/Interleaving block 13000 in the LDM Injection block. TheWaveform Generation block 14000 is similar to TDM.

FIG. 2 is a block diagram which illustrates detailed configuration ofthe Input Formatting block illustrated in FIG. 1A.

As illustrated in FIG. 2, the Input Formatting block 11000 consists ofthree blocks which control packets distributed into PLPs. Specifically,the Input Formatting block 11000 includes a packet encapsulation andcompression block 11100, a baseband framing block 11200 and a schedulerblock 11300.

Input data packets input to the Input Formatting block 11000 can consistof various types, but at the encapsulation operation these differenttypes of packets become generic packets which configure baseband frames.Here, the format of generic packets is variable. It is possible toeasily extract the length of the generic packet from the packet itselfwithout additional information. The maximum length of the generic packetis 64 kB. The maximum length of the generic packet, including header, isfour bytes. Generic packets must be of integer byte length.

The scheduler 11200 receives an input stream of encapsulated genericpackets and forms them into physical layer pipes (PLPs), in the form ofbaseband frames. In the above-mentioned TDM system there may be only onePLP, called single PLP or S-PLP, or there may be multiple PLPs, calledM-PLP. One service cannot use more than four PLPs. In the case of an LDMsystem consisting of two layers, two PLPs are used, one for each layer.

The scheduler 11200 receives encapsulated input packet streams anddirects how these packets are allocated to physical layer resources.Specifically, the scheduler 11200 directs how the baseband framing blockwill output baseband frames.

The functional assets of the Scheduler 11200 are defined by data size(s)and time(s). The physical layer can deliver portions of data at thesediscrete times. The scheduler 11200 uses the inputs and informationincluding encapsulated data packets, quality of service metadata for theencapsulated data packets, a system buffer model, constraints andconfiguration from system management, and creates a conforming solutionin terms of configuration of the physical layer parameters. Thecorresponding solution is subject to the configuration and controlparameters and the aggregate spectrum available.

Meanwhile, the operation of the Scheduler 11200 is constrained bycombination of dynamic, quasi-static, and static configurations. Thedefinition of these constraints is left to implementation.

In addition, for each service a maximum of four PLPs shall be used.Multiple services consisting of multiple time interleaving blocks may beconstructed, up to a total maximum of 64 PLPs for bandwidths of 6, 7 or8 MHz. The baseband framing block 11300, as illustrated in FIG. 3A,consists of three blocks, baseband frame construction 3100, 3100-1, . .. 3100-n, baseband frame header construction block 3200, 3200-1, . . .3200-n, and the baseband frame scrambling block 3300, 3300-1, . . .3300-n. In a M-PLP operation, the baseband framing block createsmultiple PLPs as necessary.

A baseband frame 3500, as illustrated in FIG. 3B, consists of a basebandframe header 3500-1 and payload 3500-2 consisting of generic packets.Baseband frames have fixed length K_(payload). Generic packets 3610-3650shall be mapped to baseband frames 3500 in order. If generic packets3610-3650 do not completely fit within a baseband frame, packets aresplit between the current baseband frame and the next baseband frame.Packet splits shall be in byte units only.

The baseband frame header construction block 3200, 3200-1, . . . 3200-nconfigures the baseband frame header. The baseband frame header 3500-1,as illustrated in FIG. 3B, is composed of three parts, including thebase header 3710, the optional header(or option field 3720) and theextension field 3730. Here, the base header 3710 appears in everybaseband frame, and the optional header 3720 and the extension field3730 may not be present in every time.

The main feature of the base header 3710 is to provide a pointerincluding an offset value in bytes as an initiation of the next genericpacket within the baseband frame. When the generic packet initiates thebaseband frame, the pointer value becomes zero. If there is no genericpacket which is initiated within the baseband frame, the pointer valueis 8191, and a 2-byte base header may be used.

The extension field (or extension header) 3730 may be used later, forexample, for the baseband frame packet counter, baseband frame timestamping, and additional signaling, etc.

The baseband frame scrambling block 3300, 3300-1, . . . 3300-n scramblesthe baseband frame.

In order to ensure that the payload data when mapped to constellationsdoes not always map to the same point, such as when the payload mappedto constellations consists of a repetitive sequence, the payload datashall always be scrambled before forward error correction encoding.

The scrambling sequences shall be generated by a 16-bit shift registerthat has 9 feedback taps. Eight of the shift register outputs areselected as a fixed randomizing byte, where each bit from t his byte isused to individually XOR the corresponding input data. The data bits areXORed MSB to MSB and so on until LSB to LSB. The generator polynomial isG(x)=1+X+X³+X⁶+X⁷+X¹¹+X¹²+X¹³+X¹⁶.

FIG. 4 illustrates a shift register of a PRBS encoder for scrambling abaseband according to an exemplary embodiment, wherein loading of thesequence into the PRBS register, as illustrated in FIG. 4 and shall beinitiated at the start of every baseband frame.

FIG. 5 is a block diagram provided to explain detailed configuration ofthe BICM block illustrated in FIG. 1A.

As illustrated in FIG. 5, the BICM block includes the FEC block 14100,14100-1, . . . , 14100-n, Bit Interleaver block 14200, 14200-1, . . . ,14200-n and Mapper blocks 14300, 14300-1, . . . , 14300-n.

The input to the FEC block 1400, 14100-1, . . . , 14100-n is a Basebandframe, of length K_(payload), and the output from the FEC block is a FECframe. The FEC block 14100, 14100-1, . . . , 14100-n is implemented byconcatenation of an outer code and an inner code with the informationpart. The FEC frame has length N_(inner). There are two differentlengths of LDPC code defined: N_(inner)=64800 bits and N_(inner)=16200bits

The outer code is realized as one of either Bose, Ray-Chaudhuri andHocquenghem (BCH) outer code, a Cyclic Redundancy Check (CRC) or othercode. The inner code is realized as a Low Density Parity Check (LDPC)code. Both BCH and LDPC FEC codes are systematic codes where theinformation part I contained within the codeword. The resulting codewordis thus a concatenation of information or payload part, BCH or CRCparities and LDPC parities, as shown in FIG. 6A.

The use of LDPC code is mandatory and is used to provide the redundancyneeded for the code detection. There are two different LDPC structuresthat are defined, these are called Type A and Type B. Type A has a codestructure that shows better performance at low code rates while Type Bcode structure shows better performance at high code rates. In generalN_(inner)=64800 bit codes are expected to be employed. However, forapplications where latency is critical, or a simpler encoder/decoderstructure is preferred, N_(inner)=16200 bit codes may also be used.

The outer code and CRC consist of adding M_(outer) bits to the inputbaseband frame. The outer BCH code is used to lower the inherent LDPCerror floor by correcting a predefined number of bit errors. When usingBCH codes the length of M outer is 192 bits (N_(inner)=64800 bit codes)and 168 bits (for N_(inner)=16200 bit codes). When using CRC the lengthof M_(outer) is 32 bits. When neither BCH nor CRC are used the length ofM_(outer) is zero. The outer code may be omitted if it is determinedthat the error correcting capability of the inner code is sufficient forthe application. When there is no outer code the structure of the FECframe is as shown in FIG. 6B.

FIG. 7 is a block diagram provided to explain detailed configuration ofthe Bit Interleaver block illustrated in FIG. 6.

The LDPC codeword of the LDPC encoder, i.e., a FEC Frame, shall be bitinterleaved by a Bit Interleaver block 14200. The Bit Interleaver block14200 includes a parity interleaver 14210, a group-wise interleaver14220 and a block interleaver 14230. Here, the parity interleaver is notused for Type A and is only used for Type B codes.

The parity interleaver 14210 converts the staircase structure of theparity-part of the LDPC parity-check matrix into a quasi-cyclicstructure similar to the information-part of the matrix.

Meanwhile, the parity interleaved LDPC coded bits are split intoN_(group)=N_(inner)/360 bit groups, and the group-wise interleaver 14220rearranges the bit groups.

The block interleaver 14230 block interleaves the group-wise interleavedLDPC codeword.

Specifically, the block interleaver 14230 divides a plurality of columnsinto part 1 and part 2 based on the number of columns of the blockinterleaver 14230 and the number of bits of the bit groups. In addition,the block interleaver 14230 writes the bits into each column configuringpart 1 column wise, and subsequently writes the bits into each columnconfiguring part 2 column wise, and then reads out row wise the bitswritten in each column.

In this case, the bits constituting the bit groups in the part 1 may bewritten into the same column, and the bits constituting the bit groupsin the part 2 may be written into at least two columns.

Back to FIG. 5, the Mapper block 14300, 14300-1, . . . , 14300-n mapsFEC encoded and bit interleaved bits to complex valued quadratureamplitude modulation (QAM) constellation points. For the highestrobustness level, quaternary phase shift keying (QPSK) is used. Forhigher order constellations (16-QAM up to 4096-QAM), non-uniformconstellations are defined and the constellations are customized foreach code rate.

Each FEC frame shall be mapped to a FEC block by first de-multiplexingthe input bits into parallel data cell words and then mapping these cellwords into constellation values.

FIG. 8 is a block diagram provided to explain detailed configuration ofa Framing/Interleaving block illustrated in FIG. 1A.

As illustrated in FIG. 8, the Framing/Interleaving block 14300 includesa time interleaving block 14310, a framing block 14320 and a frequencyinterleaving block 14330.

The input to the time interleaving block 14310 and the framing block14320 may consist of M-PLPs however the output of the framing block14320 is OFDM symbols, which are arranged in frames. The frequencyinterleaver included in the frequency interleaving block 14330 operatesan OFDM symbols.

The time interleaver (TI) configuration included in the timeinterleaving block 14310 depends on the number of PLPs used. When thereis only a single PLP or when LDM is used, a sheer convolutionalinterleaver is used, while for multiple PLP a hybrid interleaverconsisting of a cell interleaver, a block interleaver and aconvolutional interleaver is used. The input to the time interleavingblock 14310 is a stream of cells output from the mapper block (FIG. 5,14300, 14300-1, . . . , 14300-n), and the output of the timeinterleaving block 14310 is also a stream of time-interleaved cells.

FIG. 9A illustrates the time interleaving block for a single PLP(S-PLP), and it consists of a convolutional interleaver only.

FIG. 9B illustrates the time interleaving block for a plurality of PLPs(M-PLP), and it can be divided in several sub-blocks as illustrated.

The framing block 14320 maps the interleaved frames onto at least onetransmitter frame. The framing block 14320, specifically, receivesinputs (e.g. data cell) from at least one physical layer pipes andoutputs symbols.

In addition, the framing block 14320 creates at least one special symbolknown as preamble symbols. These symbols undergo the same processing inthe waveform block mentioned later.

FIG. 10 is a view illustrating an example of a transmission frameaccording to an exemplary embodiment.

As illustrated in FIG. 10, the transmission frame consists of threeparts, the bootstrap, preamble and data payload. Each of the three partsconsists of at least one symbol.

Meanwhile, the purpose of the frequency interleaving block 14330 is toensure that sustained interference in one part of the spectrum will notdegrade the performance of a particular PLP disproportionately comparedto other PLPs. The frequency interleaver 14330, operating on the all thedata cells of one OFDM symbol, maps the data cells from the framiningblock 14320 onto the N data carriers.

FIG. 11 is a block diagram provided to explain detailed configuration ofa Waveform Generation block illustrated in FIG. 1A.

As illustrated in FIG. 11, the Waveform Generation block 14000 includesa pilot inserting block 14100, a MISO block 14200, an IFFT block 14300,a PAPR block 14400, a GI inserting block 14500 and a bootstrap block14600.

The pilot inserting block 14100 inserts a pilot to various cells withinthe OFDM frame.

Various cells within the OFDM frame are modulated with referenceinformation whose transmitted value is known to the receiver.

Cells containing the reference information are transmitted at a boostedpower level. The cells are called scattered, continual, edge, preambleor frame-closing pilot cells. The value of the pilot information isderived from a reference sequence, which is a series of values, one foreach transmitted carrier on any given symbol.

The pilots can be used for frame synchronization, frequencysynchronization, time synchronization, channel estimation, transmissionmode identification and can also be used to follow the phase noise.

The pilots are modulated according to reference information, and thereference sequence is applied to all the pilots (e.g. scattered,continual edge, preamble and frame closing pilots) in every symbolincluding preamble and the frame-closing symbol of the frame.

The reference information, taken from the reference sequence, istransmitted in scattered pilot cells in every symbol except the preambleand the frame-closing symbol of the frame.

In addition to the scattered pilots described above, a number ofcontinual pilots are inserted in every symbol of the frame except forPreamble and the frame-closing symbol. The number and location ofcontinual pilots depends on both the FFT size and scattered pilotpattern in use.

The MISO block 14200 applies a MISO processing.

The Transmit Diversity Code Filter Set is a MISO pre-distortiontechnique that artificially decorrelates signals from multipletransmitters in a Single Frequency Network in order to minimizepotential destructive interference. Linear frequency domain filters areused so that the compensation in the receiver can be implemented as partof the equalizer process. The filter design is based on creatingall-pass filters with minimized cross-correlation over all filter pairsunder the constraints of the number of transmitters Mϵ{2,3,4} and thetime domain span of the filters N E {64,256}. The longer time domainspan filters will increase the decorrelation level, but the effectiveguard interval length will be decreased by the filter time domain spanand this should be taken into consideration when choosing a filter setfor a particular network topology.

The IFFT block 14300 specifies the OFDM structure to use for eachtransmission mode. The transmitted signal is organized in frames. Eachframe has a duration of T_(F), and consists of L_(F) OFDM symbols. Nframes constitute one super-frame. Each symbol is constituted by a setof K_(total) carriers transmitted with a duration T_(S). Each symbol iscomposed of a useful part with duration T_(U) and a guard interval witha duration Δ. The guard interval consists of a cyclic continuation ofthe useful part, T_(U), and is inserted before it.

The PAPR block 14400 applies the Peak to Average Power Reductiontechnique.

The GI inserting block 14500 inserts the guard interval into each frame.

The bootstrap block 14600 prefixes the bootstrap signal to the front ofeach frame.

FIG. 12 is a block diagram provided to explain a configuration ofsignaling information according to an exemplary embodiment.

The input processing block 11000 includes a scheduler 11200. The BICMblock 15000 includes an L1 signaling generator 15100, an FEC encoder15200-1 and 15200-2, a bit interleaver 15300-2, a demux 15400-2,constellation mappers 15500-1 and 15500-2. The L1 signaling generator15100 may be included in the input processing block 11000, according toan exemplary embodiment.

An n number of service data are mapped to a PLP0 to a PLPn respectively.The scheduler 11200 determines a position, modulation and coding ratefor each PLP in order to map a plurality of PLPs to a physical layer ofT2. In other words, the scheduler 11200 generates L1 signalinginformation. The scheduler 11200 may output dynamic field informationamong L1 post signaling information of a current frame, using theraming/Interleavingblock 13000(FIG. 1) which may be referred to as aframe builder. Further, the scheduler 11200 may transmit the L1signaling information to the BICM block 15000. The L1 signalinginformation includes L1 pre signaling information and L1 post signalinginformation.

The L1 signaling generator 15100 may differentiate the L1 pre signalinginformation from the L1 post signaling information to output them. TheFEC encoders 15200-1 and 15200-2 perform respective encoding operationswhich include shortening and puncturing for the L1 pre signalinginformation and the L1 post signaling information. The bit interleaver15300-2 performs interleaving by bit for the encoded L1 post signalinginformation. The demux 15400-2 controls robustness of bits by modifyingan order of bits constituting cells and outputs the cells which includebits. Two constellation mappers 15500-1 and 15500-2 map the L1 presignaling information and the L1 post signaling information toconstellations, respectively. The L1 pre signaling information and theL1 post signaling information processed through the above describedprocesses are output to be included in each frame by theFraming/Interleaving block 13000(FIG. 1).

FIG. 13 illustrates a structure of an receiving apparatus according toan embodiment of the present invention.

The apparatus 20000 for receiving broadcast signals according to anembodiment of the present invention can correspond to the apparatus10000 for transmitting broadcast signals, described with reference toFIG. 1. The apparatus 20000 for receiving broadcast signals according toan embodiment of the present invention can include a synchronization &demodulation module 21000, a frame parsing module 22000, a demapping &decoding module 23000, an output processor 24000 and a signalingdecoding module 25000. A description will be given of operation of eachmodule of the apparatus 20000 for receiving broadcast signals.

The synchronization & demodulation module 21000 can receive inputsignals through m Rx antennas, perform signal detection andsynchronization with respect to a system corresponding to the apparatus20000 for receiving broadcast signals and carry out demodulationcorresponding to a reverse procedure of the procedure performed by theapparatus 10000 for transmitting broadcast signals.

The frame parsing module 22000 can parse input signal frames and extractdata through which a service selected by a user is transmitted. If theapparatus 10000 for transmitting broadcast signals performsinterleaving, the frame parsing module 22000 can carry outdeinterleaving corresponding to a reverse procedure of interleaving. Inthis case, the positions of a signal and data that need to be extractedcan be obtained by decoding data output from the signaling decodingmodule 25200 to restore scheduling information generated by theapparatus 10000 for transmitting broadcast signals.

The demapping & decoding module 23000 can convert the input signals intobit domain data and then deinterleave the same as necessary. Thedemapping & decoding module 23000 can perform demapping for mappingapplied for transmission efficiency and correct an error generated on atransmission channel through decoding. In this case, the demapping &decoding module 23000 can obtain transmission parameters necessary fordemapping and decoding by decoding the data output from the signalingdecoding module 25000.

The output processor 24000 can perform reverse procedures of variouscompression/signal processing procedures which are applied by theapparatus 10000 for transmitting broadcast signals to improvetransmission efficiency. In this case, the output processor 24000 canacquire necessary control information from data output from thesignaling decoding module 25000. The output of the output processor24000 corresponds to a signal input to the apparatus 10000 fortransmitting broadcast signals and may be MPEG-TSs, IP streams (v4 orv6) and generic streams.

The signaling decoding module 25000 can obtain PLS information from thesignal demodulated by the synchronization & demodulation module 21000.As described above, the frame parsing module 22000, demapping & decodingmodule 23000 and output processor 24000 can execute functions thereofusing the data output from the signaling decoding module 25000.

FIG. 14 illustrates a synchronization & demodulation module according toan embodiment of the present invention.

As shown in FIG. 14, the synchronization & demodulation module 21000according to an embodiment of the present invention corresponds to asynchronization & demodulation module of an apparatus 20000 forreceiving broadcast signals using m Rx antennas and can include mprocessing blocks for demodulating signals respectively input through mpaths. The m processing blocks can perform the same processingprocedure. A description will be given of operation of the firstprocessing block 21000 from among the m processing blocks.

The first processing block 21000 can include a tuner 21100, an ADC block21200, a preamble detector 21300, a guard sequence detector 21400, awaveform transform block 21500, a time/frequency synchronization block21600, a reference signal detector 21700, a channel equalizer 21800 andan inverse waveform transform block 21900.

The tuner 21100 can select a desired frequency band, compensate for themagnitude of a received signal and output the compensated signal to theADC block 21200.

The ADC block 21200 can convert the signal output from the tuner 21100into a digital signal.

The preamble detector 21300 can detect a preamble (or preamble signal orpreamble symbol) in order to check whether or not the digital signal isa signal of the system corresponding to the apparatus 20000 forreceiving broadcast signals. In this case, the preamble detector 21300can decode basic transmission parameters received through the preamble.

The guard sequence detector 21400 can detect a guard sequence in thedigital signal. The time/frequency synchronization block 21600 canperform time/frequency synchronization using the detected guard sequenceand the channel equalizer 21800 can estimate a channel through areceived/restored sequence using the detected guard sequence.

The waveform transform block 21500 can perform a reverse operation ofinverse waveform transform when the apparatus 10000 for transmittingbroadcast signals has performed inverse waveform transform. When thebroadcast transmission/reception system according to one embodiment ofthe present invention is a multi-carrier system, the waveform transformblock 21500 can perform FFT. Furthermore, when the broadcasttransmission/reception system according to an embodiment of the presentinvention is a single carrier system, the waveform transform block 21500may not be used if a received time domain signal is processed in thefrequency domain or processed in the time domain.

The time/frequency synchronization block 21600 can receive output dataof the preamble detector 21300, guard sequence detector 21400 andreference signal detector 21700 and perform time synchronization andcarrier frequency synchronization including guard sequence detection andblock window positioning on a detected signal. Here, the time/frequencysynchronization block 21600 can feed back the output signal of thewaveform transform block 21500 for frequency synchronization.

The reference signal detector 21700 can detect a received referencesignal. Accordingly, the apparatus 20000 for receiving broadcast signalsaccording to an embodiment of the present invention can performsynchronization or channel estimation.

The channel equalizer 21800 can estimate a transmission channel fromeach Tx antenna to each Rx antenna from the guard sequence or referencesignal and perform channel equalization for received data using theestimated channel.

The inverse waveform transform block 21900 may restore the originalreceived data domain when the waveform transform block 21500 performswaveform transform for efficient synchronization and channelestimation/equalization. If the broadcast transmission/reception systemaccording to an embodiment of the present invention is a single carriersystem, the waveform transform block 21500 can perform FFT in order tocarry out synchronization/channel estimation/equalization in thefrequency domain and the inverse waveform transform block 21900 canperform IFFT on the channel-equalized signal to restore transmitted datasymbols. If the broadcast transmission/reception system according to anembodiment of the present invention is a multi-carrier system, theinverse waveform transform block 21900 may not be used.

The above-described blocks may be omitted or replaced by blocks havingsimilar or identical functions according to design.

FIG. 15 illustrates a frame parsing module according to an embodiment ofthe present invention.

As shown in FIG. 15, the frame parsing module 22000 according to anembodiment of the present invention can include at least one blockinterleaver 22100 and at least one cell demapper 22200.

The block interleaver 22100 can deinterleave data input through datapaths of the m Rx antennas and processed by the synchronization &demodulation module 21000 on a signal block basis. In this case, if theapparatus 10000 for transmitting broadcast signals performs pair-wiseinterleaving, the block interleaver 22100 can process two consecutivepieces of data as a pair for each input path. Accordingly, the blockinterleaver 22100 can output two consecutive pieces of data even whendeinterleaving has been performed. Furthermore, the block interleaver22100 can perform a reverse operation of the interleaving operationperformed by the apparatus 10000 for transmitting broadcast signals tooutput data in the original order.

The cell demapper 22200 can extract cells corresponding to common data,cells corresponding to data pipes and cells corresponding to PLS datafrom received signal frames. The cell demapper 22200 can merge datadistributed and transmitted and output the same as a stream asnecessary. When two consecutive pieces of cell input data are processedas a pair and mapped in the apparatus 10000 for transmitting broadcastsignals, the cell demapper 22200 can perform pair-wise cell demappingfor processing two consecutive input cells as one unit as a reverseprocedure of the mapping operation of the apparatus 10000 fortransmitting broadcast signals.

In addition, the cell demapper 22200 can extract PLS signaling datareceived through the current frame as PLS-pre & PLS-post data and outputthe PLS-pre & PLS-post data.

The above-described blocks may be omitted or replaced by blocks havingsimilar or identical functions according to design.

FIG. 16 illustrates a demapping & decoding module according to anembodiment of the present invention.

The demapping & decoding module 23000 shown in FIG. 16 can perform areverse operation of the operation of the bit interleaved and coded &modulation module illustrated in FIG. 1.

The bit interleaved and coded & modulation module of the apparatus 10000for transmitting broadcast signals according to an embodiment of thepresent invention can process input data pipes by independently applyingSISO, MISO and MIMO thereto for respective paths, as described above.Accordingly, the demapping & decoding module 23000 illustrated in FIG.16 can include blocks for processing data output from the frame parsingmodule according to SISO, MISO and MIMO in response to the apparatus10000 for transmitting broadcast signals.

As shown in FIG. 16, the demapping & decoding module 23000 according toan embodiment of the present invention can include a first block 23100for SISO, a second block 23200 for MISO, a third block 23300 for MIMOand a fourth block 23400 for processing the PLS-pre/PLS-postinformation. The demapping & decoding module 23000 shown in FIG. 16 isexemplary and may include only the first block 23100 and the fourthblock 23400, only the second block 23200 and the fourth block 23400 oronly the third block 23300 and the fourth block 23400 according todesign. That is, the demapping & decoding module 23000 can includeblocks for processing data pipes equally or differently according todesign.

A description will be given of each block of the demapping & decodingmodule 23000.

The first block 23100 processes an input data pipe according to SISO andcan include a time deinterleaver block 23110, a cell deinterleaver block23120, a constellation demapper block 23130, a cell-to-bit mux block23140, a bit deinterleaver block 23150 and an FEC decoder block 23160.

The time deinterleaver block 23110 can perform a reverse process of theprocess performed by the time interleaving block 14310 illustrated inFIG. 8. That is, the time deinterleaver block 23110 can deinterleaveinput symbols interleaved in the time domain into original positionsthereof.

The cell deinterleaver block 23120 can perform a reverse process of theprocess performed by the cell interleaver block illustrated in FIG. 9a .That is, the cell deinterleaver block 23120 can deinterleave positionsof cells spread in one FEC block into original positions thereof. Thecell deinterleaver block 23120 may be omitted.

The constellation demapper block 23130 can perform a reverse process ofthe process performed by the mapper 12300 illustrated in FIG. 5. Thatis, the constellation demapper block 23130 can demap a symbol domaininput signal to bit domain data. In addition, the constellation demapperblock 23130 may perform hard decision and output decided bit data.Furthermore, the constellation demapper block 23130 may output alog-likelihood ratio (LLR) of each bit, which corresponds to a softdecision value or probability value. If the apparatus 10000 fortransmitting broadcast signals applies a rotated constellation in orderto obtain additional diversity gain, the constellation demapper block23130 can perform 2-dimensional LLR demapping corresponding to therotated constellation. Here, the constellation demapper block 23130 cancalculate the LLR such that a delay applied by the apparatus 10000 fortransmitting broadcast signals to the I or Q component can becompensated.

The cell-to-bit mux block 23140 can perform a reverse process of theprocess performed by the mapper 12300 illustrated in FIG. 5. That is,the cell-to-bit mux block 23140 can restore bit data mapped to theoriginal bit streams.

The bit deinterleaver block 23150 can perform a reverse process of theprocess performed by the bit interleaver 12200 illustrated in FIG. 5.That is, the bit deinterleaver block 23150 can deinterleave the bitstreams output from the cell-to-bit mux block 23140 in the originalorder.

The FEC decoder block 23460 can perform a reverse process of the processperformed by the FEC encoder 12100 illustrated in FIG. 5. That is, theFEC decoder block 23460 can correct an error generated on a transmissionchannel by performing LDPC decoding and BCH decoding.

The second block 23200 processes an input data pipe according to MISOand can include the time deinterleaver block, cell deinterleaver block,constellation demapper block, cell-to-bit mux block, bit deinterleaverblock and FEC decoder block in the same manner as the first block 23100,as shown in FIG. 16. However, the second block 23200 is distinguishedfrom the first block 23100 in that the second block 23200 furtherincludes a MISO decoding block 23210. The second block 23200 performsthe same procedure including time deinterleaving operation to outputtingoperation as the first block 23100 and thus description of thecorresponding blocks is omitted.

The MISO decoding block 11110 can perform a reverse operation of theoperation of the MISO processing in the apparatus 10000 for transmittingbroadcast signals. If the broadcast transmission/reception systemaccording to an embodiment of the present invention uses STBC, the MISOdecoding block 11110 can perform Alamouti decoding.

The third block 23300 processes an input data pipe according to MIMO andcan include the time deinterleaver block, cell deinterleaver block,constellation demapper block, cell-to-bit mux block, bit deinterleaverblock and FEC decoder block in the same manner as the second block23200, as shown in FIG. 16. However, the third block 23300 isdistinguished from the second block 23200 in that the third block 23300further includes a MIMO decoding block 23310. The basic roles of thetime deinterleaver block, cell deinterleaver block, constellationdemapper block, cell-to-bit mux block and bit deinterleaver blockincluded in the third block 23300 are identical to those of thecorresponding blocks included in the first and second blocks 23100 and23200 although functions thereof may be different from the first andsecond blocks 23100 and 23200.

The MIMO decoding block 23310 can receive output data of the celldeinterleaver for input signals of the m Rx antennas and perform MIMOdecoding as a reverse operation of the operation of the MIMO processingin the apparatus 10000 for transmitting broadcast signals. The MIMOdecoding block 23310 can perform maximum likelihood decoding to obtainoptimal decoding performance or carry out sphere decoding with reducedcomplexity. Otherwise, the MIMO decoding block 23310 can achieveimproved decoding performance by performing MMSE detection or carryingout iterative decoding with MMSE detection.

The fourth block 23400 processes the PLS-pre/PLS-post information andcan perform SISO or MISO decoding.

The basic roles of the time deinterleaver block, cell deinterleaverblock, constellation demapper block, cell-to-bit mux block and bitdeinterleaver block included in the fourth block 23400 are identical tothose of the corresponding blocks of the first, second and third blocks23100, 23200 and 23300 although functions thereof may be different fromthe first, second and third blocks 23100, 23200 and 23300.

The shortened/punctured FEC decoder 23410 can perform de-shortening andde-puncturing on data shortened/punctured according to PLS data lengthand then carry out FEC decoding thereon. In this case, the FEC decoderused for data pipes can also be used for PLS. Accordingly, additionalFEC decoder hardware for the PLS only is not needed and thus systemdesign is simplified and efficient coding is achieved.

The above-described blocks may be omitted or replaced by blocks havingsimilar or identical functions according to design.

The demapping & decoding module according to an embodiment of thepresent invention can output data pipes and PLS information processedfor the respective paths to the output processor, as illustrated in FIG.16.

FIGS. 17 and 18 illustrate output processors according to embodiments ofthe present invention.

FIG. 17 illustrates an output processor 24000 according to an embodimentof the present invention. The output processor 24000 illustrated in FIG.17 receives a single data pipe output from the demapping & decodingmodule and outputs a single output stream.

The output processor 24000 shown in FIG. 17 can include a BB scramblerblock 24100, a padding removal block 24200, a CRC-8 decoder block 24300and a BB frame processor block 24400.

The BB scrambler block 24100 can descramble an input bit stream bygenerating the same PRBS as that used in the apparatus for transmittingbroadcast signals for the input bit stream and carrying out an XORoperation on the PRBS and the bit stream.

The padding removal block 24200 can remove padding bits inserted by theapparatus for transmitting broadcast signals as necessary.

The CRC-8 decoder block 24300 can check a block error by performing CRCdecoding on the bit stream received from the padding removal block24200.

The BB frame processor block 24400 can decode information transmittedthrough a BB frame header and restore MPEG-TSs, IP streams (v4 or v6) orgeneric streams using the decoded information.

The above-described blocks may be omitted or replaced by blocks havingsimilar or identical functions according to design.

FIG. 18 illustrates an output processor according to another embodimentof the present invention. The output processor 24000 shown in FIG. 18receives multiple data pipes output from the demapping & decodingmodule. Decoding multiple data pipes can include a process of mergingcommon data commonly applicable to a plurality of data pipes and datapipes related thereto and decoding the same or a process ofsimultaneously decoding a plurality of services or service components(including a scalable video service) by the apparatus for receivingbroadcast signals.

The output processor 24000 shown in FIG. 18 can include a BB descramblerblock, a padding removal block, a CRC-8 decoder block and a BB frameprocessor block as the output processor illustrated in FIG. 17. Thebasic roles of these blocks correspond to those of the blocks describedwith reference to FIG. 17 although operations thereof may differ fromthose of the blocks illustrated in FIG. 17.

A de-jitter buffer block 24500 included in the output processor shown inFIG. 18 can compensate for a delay, inserted by the apparatus fortransmitting broadcast signals for synchronization of multiple datapipes, according to a restored TTO (time to output) parameter.

A null packet insertion block 24600 can restore a null packet removedfrom a stream with reference to a restored DNP (deleted null packet) andoutput common data.

A TS clock regeneration block 24700 can restore time synchronization ofoutput packets based on ISCR (input stream time reference) information.

A TS recombining block 24800 can recombine the common data and datapipes related thereto, output from the null packet insertion block24600, to restore the original MPEG-TSs, IP streams (v4 or v6) orgeneric streams. The TTO, DNT and ISCR information can be obtainedthrough the BB frame header.

An in-band signaling decoding block 24900 can decode and output in-bandphysical layer signaling information transmitted through a padding bitfield in each FEC frame of a data pipe.

The output processor shown in FIG. 18 can BB-descramble the PLS-preinformation and PLS-post information respectively input through aPLS-pre path and a PLS-post path and decode the descrambled data torestore the original PLS data. The restored PLS data is delivered to asystem controller included in the apparatus for receiving broadcastsignals. The system controller can provide parameters necessary for thesynchronization & demodulation module, frame parsing module, demapping &decoding module and output processor module of the apparatus forreceiving broadcast signals.

The above-described blocks may be omitted or replaced by blocks havingsimilar r identical functions according to design.

FIG. 19 is a block diagram to illustrate a configuration of atransmitting apparatus according to an exemplary embodiment. Referringto FIG. 19, the transmitting apparatus 100 includes an encoder 110, aninterleaver 120, and a modulator 130 (or a constellation mapper).

The encoder 110 generates a low density parity check (LDPC) codeword byperforming LDPC encoding based on a parity check matrix. The encoder 110may include an LDPC encoder (not shown) to perform the LDPC encoding.

The encoder 110 LDPC-encodes information word(or information) bits togenerate the LDPC codeword which is formed of information word bits andparity bits (that is, LDPC parity bits). Here, bits input to the encoder110 may be used as the information word bits. Also, since an LDPC codeis a systematic code, the information word bits may be included in theLDPC codeword as they are.

The LDPC codeword is formed of the information word bits and the paritybits. For example, the LDPC codeword is formed of N_(ldpc) number ofbits, and includes K_(ldpc) number of information word bits andN_(parity)=N_(ldpc)−K_(ldpc) number of parity bits.

In this case, the encoder 110 may generate the LDPC codeword byperforming the LDPC encoding based on the parity check matrix. That is,since the LDPC encoding is a process for generating an LDPC codeword tosatisfy H·C^(T)=0, the encoder 110 may use the parity check matrix whenperforming the LDPC encoding. Herein, H is a parity check matrix and Cis an LDPC codeword.

For the LDPC encoding, the transmitting apparatus 100 may include amemory and may pre-store parity check matrices of various formats.

For example, the transmitting apparatus 100 may pre-store parity checkmatrices which are defined in Digital Video Broadcasting-Cable version 2(DVB-C2), Digital Video Broadcasting-Satellite-Second Generation(DVB-S2), Digital Video Broadcasting-Second Generation Terrestrial(DVB-T2), etc., or may pre-store parity check matrices which are definedin the North America digital broadcasting standard system AdvancedTelevision System Committee (ATSC) 3.0 standards, which are currentlybeing established. However, this is merely an example and thetransmitting apparatus 100 may pre-store parity check matrices of otherformats in addition to these parity check matrices.

Hereinafter, a parity check matrix according to various exemplaryembodiments will be explained with reference to the drawings. In theparity check matrix, elements other than elements having 1 have 0.

For example, the parity check matrix according to an exemplaryembodiment may have a configuration of FIG. 20.

Referring to FIG. 20, a parity check matrix 200 is formed of aninformation word submatrix(or an information submatrix) 210corresponding to information word bits, and a parity submatrix 220corresponding to parity bits.

The information word submatrix 210 includes K_(ldpc) number of columnsand the parity submatrix 220 includes N_(parity)=N_(ldpc)−K_(ldpc)number of columns. The number of rows of the parity check matrix 200 isidentical to the number of columns of the parity submatrix 220,N_(parity)=N_(ldpc)−K_(ldpc).

In addition, in the parity check matrix 200, N_(ldpc) is a length of anLDPC codeword, K_(ldpc) is a length of information word bits, andN_(parity)=N_(ldpc)−K_(ldpc) is a length of parity bits. The length ofthe LDPC codeword, the information word bits, and the parity bits meanthe number of bits included in each of the LDPC codeword, theinformation word bits, and the parity bits.

Hereinafter, the configuration of the information word submatrix 210 andthe parity submatrix 220 will be explained.

The information word submatrix 210 includes K_(ldpc) number of columns(that is, 0^(th) column to (K_(ldpc)−1)^(th) column), and follows thefollowing rules:

First, M number of columns from among K_(ldpc) number of columns of theinformation word submatrix 210 belong to the same group, and K_(ldpc)number of columns is divided into K_(ldpc)/M number of column groups. Ineach column group, a column is cyclic-shifted from an immediatelyprevious column by Q_(ldpc). That is, Q_(ldpc) may be a cyclic shiftparameter value regarding columns in a column group of the informationword submatrix 210 of the parity check matrix 200.

Herein, M is an interval at which a pattern of a column group, whichincludes a plurality of columns, is repeated in the information wordsubmatrix 210 (e.g., M=360), and Q_(ldpc) is a size by which one columnis cyclic-shifted from an immediately previous column in a same columngroup in the information word submatrix 210. Also, M is a common divisorof N_(ldpc) and K_(ldpc) and is determined to satisfyQ_(ldpc)=(N_(ldpc)−K_(ldpc))/M. Here, M and Q_(ldpc) are integers andK_(ldpc)/M is also an integer. M and Q_(ldpc) may have various valuesaccording to a length of the LDPC codeword and a code rate or codingrate (CR).

For example, when M=360 and the length of the LDPC codeword, N_(ldpc),is 64800, Q_(ldpc) may be defined as in Table 1 presented below, and,when M=360 and the length N_(ldpc) of the LDPC codeword is 16200,Q_(ldpc) may be defined as in Table 2 presented below.

TABLE 1 Code Rate N_(ldpc) M Q_(ldpc) 5/15 64800 360 120 6/15 64800 360108 7/15 64800 360 96 8/15 64800 360 84 9/15 64800 360 72 10/15  64800360 60 11/15  64800 360 48 12/15  64800 360 36 13/15  64800 360 24

TABLE 2 Code Rate N_(ldpc) M Q_(ldpc) 5/15 16200 360 30 6/15 16200 36027 7/15 16200 360 24 8/15 16200 360 21 9/15 16200 360 18 10/15  16200360 15 11/15  16200 360 12 12/15  16200 360 9 13/15  16200 360 6

Second, when the degree of the 0^(th) column of the i^(th) column group(i=0, 1, . . . , K_(ldpc)/M−1) is D_(i) (herein, the degree is thenumber of value 1 existing in each column and all columns belonging tothe same column group have the same degree), and a position (or anindex) of each row where 1 exists in the 0^(th) column of the i^(th)column group is R_(i,0) ⁽⁰⁾, R_(i,0) ⁽¹⁾, . . . , R_(i,0) ^((D) ^(i)⁻¹⁾, an index R_(i,j) ^((k)) of a row where k^(th) 1 is located in thej^(th) column in the i^(th) column group is determined by followingEquation 1:

R _(i,j) ^((k)) =R _(i,(j-1)) ^((k)) +Q _(ldpc) mod(N _(ldpc) −K_(ldpc))  (1),

where k=0, 1, 2, . . . D_(i)−1; i=0, 1, . . . , K_(ldpc)/M−1; and j=1,2, . . . , M−1.

Equation 1 can be expressed as following Equation 2:

R _(i,j) ^((k)) ={R _(i,0) ^((k))+(j mod M)×Q _(ldpc)} mod(N _(ldpc) −K_(ldpc))  (2),

where k=0, 1, 2, . . . D_(i)−1; i=0, 1, . . . , K_(ldpc)/M−1; and j=1,2, . . . , M−1. Since j=1, 2, . . . , M−1, (j mod M) of Equation 2 maybe regarded as j.

In the above equations, R_(i,j) ^((k)) is an index of a row where k^(th)1 is located in the j^(th) column in the i^(th) column group, N_(ldpc)is a length of an LDPC codeword, K_(ldpc) is a length of informationword bits, D_(i) is a degree of columns belonging to the i^(th) columngroup, M is the number of columns belonging to a single column group,and Q_(ldpc) is a size by which each column in the column group iscyclic-shifted.

As a result, referring to these equations, when only R_(i,0) ^((k)) isknown, the index R_(i,j) ^((k)) of the row where the k^(th) 1 is locatedin the j^(th) column in the i^(th) column group can be known. Therefore,when the index value of the row where the k^(th) 1 is located in the0^(th) column of each column group is stored, a position of column androw where 1 is located in the parity check matrix 200 having theconfiguration of FIG. 20 (that is, in the information word submatrix 210of the parity check matrix 200) can be known.

According to the above-described rules, all of the columns belonging tothe i^(th) column group have the same degree D_(i). Accordingly, theLDPC codeword which stores information on the parity check matrixaccording to the above-described rules may be briefly expressed asfollows.

For example, when N_(ldpc) is 30, K_(ldpc) is 15, and Q_(ldpc) is 3,position information of the row where 1 is located in the 0^(th) columnof the three column groups may be expressed by a sequence of Equations 3and may be referred to as “weight-1 position sequence”.

R _(1,0) ⁽¹⁾=1,R _(1,0) ⁽²⁾=2,R _(1,0) ⁽³⁾=8,R _(1,0) ⁽⁴⁾=10,

R _(2,0) ⁽¹⁾=0,R _(2,0) ⁽²⁾=9,R _(2,0) ⁽³⁾=13,

R _(3,0) ⁽¹⁾=0,R _(3,0) ⁽²⁾=14.  (3),

where R_(i,j) ^((k)) is an index of a row where k^(th) 1 is located inthe j^(th) column in the i^(th) column group.

The weight-1 position sequence like Equation 3 which expresses an indexof a row where 1 is located in the 0^(th) column of each column groupmay be briefly expressed as in Table 3 presented below:

TABLE 3 1 2 8 10 0 9 13 0 14

Table 3 shows positions of elements having value 1 in the parity checkmatrix, and the i^(th) weight-1 position sequence is expressed byindexes of rows where 1 is located in the 0^(th) column belonging to thei^(th) column group.

The information word submatrix 210 of the parity check matrix accordingto an exemplary embodiment may be defined as in Tables 4 to 12 presentedbelow, based on the above descriptions.

Tables 4 to 12 show indexes of rows where 1 is located in the 0^(th)column of the i^(th) column group of the information word submatrix 210.That is, the information word submatrix 210 is formed of a plurality ofcolumn groups each including M number of columns, and positions of 1 inthe 0^(th) column of each of the plurality of column groups may bedefined by Tables 4 to 12.

Herein, the indexes of the rows where 1 is located in the 0^(th) columnof the i^(th) column group mean “addresses of parity bit accumulators”.The “addresses of parity bit accumulators” have the same meaning asdefined in the DVB-C2/S2/T2 standards or the ATSC 3.0 standards whichare currently being established, and thus, a detailed explanationthereof is omitted.

For example, when the length N_(ldpc) of the LDPC codeword is 16200, thecode rate is 5/15, and M is 360, the indexes of the rows where 1 islocated in the 0^(th) column of the i^(th) column group of theinformation word submatrix 210 are as shown in Table 4 presented below:

TABLE 4 Indexes of row where 1 is located in the 0th column of the ithcolumn i group 0 245 449 491 980 1064 1194 1277 1671 2026 3186 4399 49005283 5413 5558 6570 7492 7768 7837 7984 8306 8483 8685 9357 9642 1004510179 10261 10338 10412 1 1318 1584 1682 1860 1954 2000 2062 3387 34413879 3931 4240 4302 4446 4603 5117 5588 5675 5793 5955 6097 6221 64496616 7218 7394 9535 9896 10009 10763 2 105 472 785 911 1168 1450 25502851 3277 3624 4128 4460 4572 4669 4783 5102 5133 5199 5905 6647 70287086 7703 8121 8217 9149 9304 9476 9736 9884 3 1217 5338 5737 8334 4 855994 2979 9443 5 7506 7811 9212 9982 6 848 3313 3380 3990 7 2095 41134620 9946 8 1488 2396 6130 7483 9 1002 2241 7067 10418 10 2008 3199 72157502 11 1161 7705 8194 8534 12 2316 4803 8649 9359 13 125 1880 3177 141141 8033 9072

In another example, when the length N_(ldpc) of the LDPC codeword is16200, the code rate is 7/15, and M is 360, the indexes of the rowswhere 1 is located in the 0^(th) column of the i^(th) column group ofthe information word submatrix 210 are as shown in Table 5 or Table 6presented below:

TABLE 5 Indexes of row where 1 is located in the 0th column of the ithcolumn i group 0 553 742 901 1327 1544 2179 2519 3131 3280 3603 37893792 4253 5340 5934 5962 6004 6698 7793 8001 8058 8126 8276 8559 1 503590 598 1185 1266 1336 1806 2473 3021 3356 3490 3680 3936 4501 4659 58916132 6340 6602 7447 8007 8045 8059 8249 2 795 831 947 1330 1502 20412328 2513 2814 2829 4048 4802 6044 6109 6461 6777 6800 7099 7126 80958428 8519 8556 8610 3 601 787 899 1757 2259 2518 2783 2816 2823 29493396 4330 4494 4684 4700 4837 4881 4975 5130 5464 6554 6912 7094 8297 44229 5628 7917 7992 5 1506 3374 4174 5547 6 4275 5650 8208 8533 7 15041747 3433 6345 8 3659 6955 7575 7852 9 607 3002 4913 6453 10 3533 68607895 8048 11 4094 6366 8314 12 2206 4513 5411 13 32 3882 5149 14 3893121 4626 15 1308 4419 6520 16 2092 2373 6849 17 1815 3679 7152 18 35823979 6948 19 1049 2135 3754 20 2276 4442 6591

TABLE 6 Indexes of row where 1 is located in the 0th column of the ithcolumn i group 0 432 655 893 942 1285 1427 1738 2199 2441 2565 2932 32014144 4419 4678 4963 5423 5922 6433 6564 6656 7478 7514 7892 1 220 453690 826 1116 1425 1488 1901 3119 3182 3568 3800 3953 4071 4782 5038 55556836 6871 7131 7609 7850 8317 8443 2 300 454 497 930 1757 2145 2314 23722467 2819 3191 3256 3699 3984 4538 4965 5461 5742 5912 6135 6649 76368078 8455 3 24 65 565 609 990 1319 1394 1465 1918 1976 2463 2987 33303677 4195 4240 4947 5372 6453 6950 7066 8412 8500 8599 4 1373 4668 53247777 5 189 3930 5766 6877 6 3 2961 4207 5747 7 1108 4768 6743 7106 81282 2274 2750 6204 9 2279 2587 2737 6344 10 2889 3164 7275 8040 11 1332734 5081 8386 12 437 3203 7121 13 4280 7128 8490 14 619 4563 6206 152799 6814 6991 16 244 4212 5925 17 1719 7657 8554 18 53 1895 6685 19 5845420 6856 20 2958 5834 8103

In another example, when the length N_(ldpc) of the LDPC codeword is16200, the code rate is 9/15, and M is 360, the indexes of rows where 1exists in the 0^(th) column of the i^(th) column group of theinformation word submatrix 210 are defined as shown in Table 7 or Table8 below.

TABLE 7 Indexes of row where 1 is located in the 0th column of the ithcolumn i group 0 212 255 540 967 1033 1517 1538 3124 3408 3800 4373 48644905 5163 5177 6186 1 275 660 1351 2211 2876 3063 3433 4088 4273 45444618 4632 5548 6101 6111 6136 2 279 335 494 865 1662 1681 3414 3775 42524595 5272 5471 5796 5907 5986 6008 3 345 352 3094 3188 4297 4338 44904865 5303 6477 4 222 681 1218 3169 3850 4878 4954 5666 6001 6237 5 172512 1536 1559 2179 2227 3334 4049 6464 6 716 934 1694 2890 3276 36084332 4468 5945 7 1133 1593 1825 2571 3017 4251 5221 5639 5845 8 10761222 6465 9 159 5064 6078 10 374 4073 5357 11 2833 5526 5845 12 15943639 5419 13 1028 1392 4239 14 115 622 2175 15 300 1748 6245 16 27243276 5349 17 1433 6117 6448 18 485 663 4955 19 711 1132 4315 20 177 32664339 21 1171 4841 4982 22 33 1584 3692 23 2820 3485 4249 24 1716 24283125 25 250 2275 6338 26 108 1719 4961

TABLE 8 Indexes of row where 1 is located in the 0th column of the ithcolumn i group 0 350 462 1291 1383 1821 2235 2493 3328 3353 3772 38723923 4259 4426 4542 4972 5347 6217 6246 6332 6386 1 177 869 1214 12531398 1482 1737 2014 2161 2331 3108 3297 3438 4388 4430 4456 4522 47835273 6037 6395 2 347 501 658 966 1622 1659 1934 2117 2527 3168 3231 33793427 3739 4218 4497 4894 5000 5167 5728 5975 3 319 398 599 1143 17963198 3521 3886 4139 4453 4556 4636 4688 4753 4986 5199 5224 5496 56985724 6123 4 162 257 304 524 945 1695 1855 2527 2780 2902 2958 3439 34844224 4769 4928 5156 5303 5971 6358 6477 5 807 1695 2941 4276 6 2652 28574660 6358 7 329 2100 2412 3632 8 1151 1231 3872 4869 9 1561 3565 51385303 10 407 794 1455 11 3438 5683 5749 12 1504 1985 3563 13 440 50216321 14 194 3645 5923 15 1217 1462 6422 16 1212 4715 5973 17 4098 51005642 18 5512 5857 6226 19 2583 5506 5933 20 784 1801 4890 21 4734 47794875 22 938 5081 5377 23 127 4125 4704 24 1244 2178 3352 25 3659 63506465 26 1686 3464 4336

In another example, when the length N_(ldpc) of the LDPC codeword is16200, the code rate is 11/15, and M is 360, the indexes of rows where 1exists in the 0^(th) column of the i^(th) column group of theinformation word submatrix 210 are defined as shown in Table 9 or Table10 below.

TABLE 9 Indexes of row where 1 is located in the 0th column of the ithcolumn i group 0 49 719 784 794 968 2382 2685 2873 2974 2995 3540 4179 1272 281 374 1279 2034 2067 2112 3429 3613 3815 3838 4216 2 206 714 8201800 1925 2147 2168 2769 2806 3253 3415 4311 3 62 159 166 605 1496 17112652 3016 3347 3517 3654 4113 4 363 733 1118 2062 2613 2736 3143 34273664 4100 4157 4314 5 57 142 436 983 1364 2105 2113 3074 3639 3835 41644242 6 870 921 950 1212 1861 2128 2707 2993 3730 3968 3983 4227 7 1852684 3263 8 2035 2123 2913 9 883 2221 3521 10 1344 1773 4132 11 438 31783650 12 543 756 1639 13 1057 2337 2898 14 171 3298 3929 15 1626 29603503 16 484 3050 3323 17 2283 2336 4189 18 2732 4132 4318 19 225 23353497 20 600 2246 2658 21 1240 2790 3020 22 301 1097 3539 23 1222 12672594 24 1364 2004 3603 25 1142 1185 2147 26 564 1505 2086 27 697 9912908 28 1467 2073 3462 29 2574 2818 3637 30 748 2577 2772 31 1151 14194129 32 164 1238 3401

TABLE 10 Indexes of row where 1 is located in the 0th column of the ithcolumn i group 0 108 297 703 742 1345 1443 1495 1628 1812 2341 2559 26692810 2877 3442 3690 3755 3904 4264 1 180 211 477 788 824 1090 1272 15781685 1948 2050 2195 2233 2546 2757 2946 3147 3299 3544 2 627 741 11351157 1226 1333 1378 1427 1454 1696 1757 1772 2099 2208 2592 3354 35804066 4242 3 9 795 959 989 1006 1032 1135 1209 1382 1484 1703 1855 19852043 2629 2845 3136 3450 3742 4 230 413 801 829 1108 1170 1291 1759 17931827 1976 2000 2423 2466 2917 3010 3600 3782 4143 5 56 142 236 381 10501141 1372 1627 1985 2247 2340 3023 3434 3519 3957 4013 4142 4164 4279 6298 1211 2548 3643 7 73 1070 1614 1748 8 1439 2141 3614 9 284 1564 262910 607 660 855 11 1195 2037 2753 12 49 1198 2562 13 296 1145 3540 141516 2315 2382 15 154 722 4016 16 759 2375 3825 17 162 194 1749 18 23352422 2632 19 6 1172 2583 20 726 1325 1428 21 985 2708 2769 22 255 28013181 23 2979 3720 4090 24 208 1428 4094 25 199 3743 3757 26 1229 20594282 27 458 1100 1387 28 1199 2481 3284 29 1161 1467 4060 30 959 30144144 31 2666 3960 4125 32 2809 3834 4318

In another example, when the length N_(ldpc) of the LDPC codeword is16200, the code rate is 13/15, and M is 360, the indexes of rows where 1exists in the 0^(th) column of the i^(th) column group of theinformation word submatrix 210 are defined as shown in Table 11 or 12below.

TABLE 11 Indexes of row where 1 is located in the 0th column of the ithcolumn i group 0 71 334 645 779 786 1124 1131 1267 1379 1554 1766 17981939 1 6 183 364 506 512 922 972 981 1039 1121 1537 1840 2111 2 6 71 153204 253 268 781 799 873 1118 1194 1661 2036 3 6 247 353 581 921 940 11081146 1208 1268 1511 1527 1671 4 6 37 466 548 747 1142 1203 1271 15121516 1837 1904 2125 5 6 171 863 953 1025 1244 1378 1396 1723 1783 18161914 2121 6 1268 1360 1647 1769 7 6 458 1231 1414 8 183 535 1244 1277 9107 360 498 1456 10 6 2007 2059 2120 11 1480 1523 1670 1927 12 139 573711 1790 13 6 1541 1889 2023 14 6 374 957 1174 15 287 423 872 1285 16 61809 1918 17 65 818 1396 18 590 766 2107 19 192 814 1843 20 775 11631256 21 42 735 1415 22 334 1008 2055 23 109 596 1785 24 406 534 1852 25684 719 1543 26 401 465 1040 27 112 392 621 28 82 897 1950 29 887 19622125 30 793 1088 2159 31 723 919 1138 32 610 839 1302 33 218 1080 181634 627 1646 1749 35 496 1165 1741 36 916 1055 1662 37 182 722 945 38 5595 1674

TABLE 12 Indexes of row where 1 is located in the 0th column of the ithcolumn i group 0 37 144 161 199 220 496 510 589 731 808 834 965 12491264 1311 1377 1460 1520 1598 1707 1958 2055 2099 2154 1 20 27 165 462546 583 742 796 1095 1110 1129 1145 1169 1190 1254 1363 1383 1463 17181835 1870 1879 2108 2128 2 288 362 483 505 638 691 745 861 1006 10331124 1175 1247 1275 1337 1353 1378 1506 1588 1632 1720 1868 1980 2135 3405 464 478 511 566 574 641 766 785 802 836 996 1128 1239 1247 1449 14911537 1616 1643 1668 1950 1975 2149 4 86 192 245 357 363 374 700 713 852903 992 1174 1245 1277 1342 1369 1381 1417 1463 1712 1900 1962 2053 21185 101 327 378 550 6 186 723 1318 1550 7 118 277 504 1835 8 199 407 17761965 9 387 1253 1328 1975 10 62 144 1163 2017 11 100 475 572 2136 12 431865 1568 2055 13 283 640 981 1172 14 220 1038 1903 2147 15 483 1318 13582118 16 92 961 1709 1810 17 112 403 1485 2042 18 431 1110 1130 1365 19587 1005 1206 1588 20 704 1113 1943 21 375 1487 2100 22 1507 1950 211023 962 1613 2038 24 554 1295 1501 25 488 784 1446 26 871 1935 1964 27 541475 1504 28 1579 1617 2074 29 1856 1967 2131 30 330 1582 2107 31 401056 1809 32 1310 1353 1410 33 232 554 1939 34 168 641 1099 35 333 4371556 36 153 622 745 37 719 931 1188 38 237 638 1607

In the above-described examples, the length of the LDPC codeword is16200 and the code rate is 5/15, 7/15, 9/15, 11/15 and 13/15. However,this is merely an example, and the position of 1 in the information wordsubmatrix 210 may be defined variously when the length of the LDPCcodeword is 64800 or the code rate has different values.

According to an exemplary embodiment, even when an order of indexes in asequence in the 0^(th) column of each column group of the parity checkmatrix 200 as shown in the above-described Tables 4 to 12 is changed,the changed parity check matrix is a parity check matrix used for thesame code. Therefore, a case in which the order of indexes in thesequence in the 0^(th) column of each column group in Tables 4 to 12 ischanged is covered by the inventive concept.

According to an exemplary embodiment, even when the arrangement order ofsequences corresponding the i+1 number of column groups is changed inTables 4 to 12, cycle characteristics on a graph of a code and algebraiccharacteristics such as degree distribution are not changed. Therefore,a case in which the arrangement order of the sequences shown in Tables 4to 12 is changed is also covered by the inventive concept.

In addition, even when a multiple of Q_(ldpc) is equally added to allindexes in a certain column group (i.e., a sequence) in Tables 4 to 12,the cycle characteristics on the graph of the code or the algebraiccharacteristics such as degree distribution are not changed. Therefore,a result of equally adding a multiple of Q_(ldpc) to all indexes shownin Tables 4 to 12 is also covered by the inventive concept. However, itshould be noted that, when the resulting value obtained by adding themultiple of Q_(ldpc) to all indexes in a given sequence is greater thanor equal to (N_(ldpc)−K_(ldpc)), a value obtained by applying a modulooperation to (N_(ldpc)−K_(ldpc)) should be applied instead.

Once positions of the rows where 1 exists in the 0^(th) column of thei^(th) column group of the information word submatrix 210 are defined asshown in Tables 4 to 12, positions of rows where 1 exists in othercolumns of each column group may be defined since the positions of therows where 1 exists in the 0^(th) column are cyclic-shifted by Q_(ldpc)in the next column.

For example, in the case of Table 4, in the 0^(th) column of the 0^(th)column group of the information word submatrix 210, 1 exists in the245^(th) row, 449^(th) row, 4911^(st) row, . . . .

In this case, since Q_(ldpc)=(N_(ldpc)−K_(ldpc))/M, (16200−5400)/360=30,the indexes of the rows where 1 is located in the 1^(st) column of the0^(th) column group may be 275 (=245+30), 479 (=449+30), 521 (=491+30),. . . , and the indexes of the rows where 1 is located in the 2^(nd)column of the 0^(th) column group may be 305 (=275+30), 509 (=479+30),551 (=521+30), . . . .

In the above-described method, the indexes of the rows where 1 islocated in all rows of each column group may be defined.

The parity submatrix 220 of the parity check matrix 200 shown in FIG. 20may be defined as follows:

The parity submatrix 220 includes N_(ldpc)−K_(ldpc) number of columns(that is, K_(ldpc) ^(th) column to (N_(ldpc)−1)^(th) column), and has adual diagonal or staircase configuration. Accordingly, the degree ofcolumns except the last column (that is, (N_(ldpc)−1)^(th) column) fromamong the columns included in the parity submatrix 220 is 2, and thedegree of the last column is 1.

As a result, the information word submatrix 210 of the parity checkmatrix 200 may be defined by Tables 4 to 12, and the parity submatrix220 of the parity check matrix 200 may have a dual diagonalconfiguration.

When the columns and rows of the parity check matrix 200 shown in FIG.20 are permutated based on Equation 4 and Equation 5 below, the paritycheck matrix shown in FIG. 20 may be changed to a parity check matrix300 shown in FIG. 21.

Q _(ldpc) ·i+j⇒M·j+i(0≤i<M,0≤j<Q _(ldpc))  (4)

K _(ldpc) +Q _(ldpc) ·k+l⇒K _(ldpc) +M·l+k(0≤k<M,0≤l<Q _(ldpc))  (5)

The method for permutation based on Equation 4 and Equation 5 will beexplained below. Since row permutation and column permutation apply thesame principle, the row permutation will be explained as an example.

In the case of the row permutation, regarding the X^(th) row, i and jsatisfying X=Q_(ldpc)×i+j are calculated and the X^(th) row ispermutated by assigning the calculated i and j to M×j+i. For example ofQ_(ldpc) and M being 2 and 10, respectively, regarding the 7^(th) row, iand j satisfying 7=2×i+j are 3 and 1, respectively. Therefore, the7^(th) row is permutated to the 13^(th) row (10×1+3=13).

When the row permutation and the column permutation are performed in theabove-described method, the parity check matrix of FIG. 20 may beconverted into the parity check matrix of FIG. 21.

Referring to FIG. 21, the parity check matrix 300 is divided into aplurality of partial blocks, and a quasi-cyclic matrix of M×Mcorresponds to each partial block.

Accordingly, the parity check matrix 300 having the configuration ofFIG. 21 is formed of matrix units of M×M. That is, the submatrices ofM×M are arranged as a plurality of partial blocks which constitute theparity check matrix 300.

Since the parity check matrix 300 is formed of the quasi-cyclic matricesof M×M, M number of columns may be referred to as a column block and Mnumber of rows may be referred to as a row block. Accordingly, theparity check matrix 300 having the configuration of FIG. 21 is formed ofN_(qc_column)=N_(ldpc)/M number of column blocks andN_(qc_row)=N_(parity)/M number of row blocks.

Hereinafter, the submatrix of M×M will be explained.

First, the (N_(qc_column)−1)^(th) column block of the 0^(th) row blockhas a form shown in Equation 6 presented below:

$\begin{matrix}{A = \begin{bmatrix}0 & 0 & \ldots & 0 & 0 \\1 & 0 & \ldots & 0 & 0 \\0 & 1 & \ldots & 0 & 0 \\\vdots & \vdots & \vdots & \vdots & \vdots \\0 & 0 & \ldots & 1 & 0\end{bmatrix}} & (6)\end{matrix}$

As described above, A 330 is an M×M matrix, values of the 0^(th) row andthe (M−1)^(th) column are all “0”, and, regarding 0≤i≤(M−2), the(i+1)^(th) row of the i^(th) column is “1” and the other values are “0”.

Second, regarding 0≤i≤(N_(ldpc)−K_(ldpc))/M−1 in the parity submatrix320, the i^(th) row block of the (K_(ldpc)/M+i)^(th) column block isconfigured by a unit matrix I_(M×M) 340. In addition, regarding0≤i≤(N_(ldpc)−K_(ldpc))/M−2, the (i+1)^(th) row block of the(K_(ldpc)/M+i)^(th) column block is configured by a unit matrix I_(M×M)340.

Third, a block 350 constituting the information word submatrix 310 mayhave a cyclic-shifted format of a cyclic matrix P, P^(a) ^(ij) , or anadded format of the cyclic-shifted matrix P^(a) ^(ij) of the cyclicmatrix P (or an overlapping format).

For example, a format in which the cyclic matrix P is cyclic-shifted tothe right by 1 may be expressed by Equation 7 presented below:

$\begin{matrix}{P = \begin{bmatrix}0 & 1 & 0 & \; & 0 \\0 & 0 & 1 & \ldots & 0 \\\vdots & \vdots & \vdots & \; & \vdots \\0 & 0 & 0 & \ldots & 1 \\1 & 0 & 0 & \; & 0\end{bmatrix}} & (7)\end{matrix}$

The cyclic matrix P is a square matrix having an M×M size and is amatrix in which a weight of each of M number of rows is 1 and a weightof each of M number of columns is 1. When is 0, the cyclic matrix P,that is, P⁰ indicates a unit matrix I_(M×M), and when a_(ij) is ∞, P^(∞)is a zero matrix.

A submatrix existing where the i^(th) row block and the j^(th) columnblock intersect in the parity check matrix 300 of FIG. 21 may be P^(a)^(ij) . Accordingly, i and j indicate the number of row blocks and thenumber of column blocks in the partial blocks corresponding to theinformation word. Accordingly, in the parity check matrix 300, the totalnumber of columns is N_(ldpc)=M×N_(qc_column), and the total number ofrows is N_(parity)=M×N_(qc_row). That is, the parity check matrix 300 isformed of N_(qc_column) number of column blocks and N_(qc_row) number ofrow blocks.

Hereinafter, a method for performing LDPC encoding based on the paritycheck matrix 200 as shown in FIG. 20 will be explained. An LDPC encodingprocess when the parity check matrix 200 is defined as shown in Table 4will be explained as an example for the convenience of explanation.

First, when information word bits having a length of K_(ldpc) are [i₀,i₁, i₂, . . . , i_(K) _(ldpc) ⁻¹], and parity bits having a length ofN_(ldpc)−K_(ldpc) are [p₀, p₁, p₂, . . . p_(N) _(ldpc) _(−K) _(ldpc)⁻¹], the LDPC encoding is performed by the following process.

Step 1) Parity bits are initialized as ‘0’. That is, p₀=p₁=p₂==p_(N)_(ldpc) _(−K) _(ldpc) ⁻¹=0.

Step 2) The 0^(th) information word bit i₀ is accumulated in parity bitshaving the indexes defined in the first row (that is, the row of i=0) ofTable 4 as addresses of the parity bits. This may be expressed byEquation 8 presented below:

$\begin{matrix}{{P_{245} = {P_{245} \oplus i_{0}}}{P_{449} = {P_{449} \oplus i_{0}}}{P_{491} = {P_{491} \oplus i_{0}}}{P_{980} = {P_{980} \oplus i_{0}}}{P_{1064} = {P_{1064} \oplus i_{0}}}{P_{1194} = {P_{1194} \oplus i_{0}}}{P_{1277} = {P_{1277} \oplus i_{0}}}{P_{1671} = {P_{1671} \oplus i_{0}}}{P_{2026} = {P_{2026} \oplus i_{0}}}{P_{3186} = {P_{3186} \oplus i_{0}}}{P_{4399} = {P_{4399} \oplus i_{0}}}{P_{4900} = {P_{4900} \oplus i_{0}}}{P_{5283} = {P_{5283} \oplus i_{0}}}{P_{5413} = {P_{5413} \oplus i_{0}}}{P_{5558} = {P_{5558} \oplus i_{0}}}{P_{6570} = {P_{6570} \oplus i_{0}}}{P_{7492} = {P_{7492} \oplus i_{0}}}{P_{7768} = {P_{7768} \oplus i_{0}}}{P_{7837} = {P_{7837} \oplus i_{0}}}{P_{7984} = {P_{7984} \oplus i_{0}}}{P_{8306} = {P_{8306} \oplus i_{0}}}{P_{8483} = {P_{8483} \oplus i_{0}}}{P_{8685} = {P_{8685} \oplus i_{0}}}{P_{9357} = {P_{9357} \oplus i_{0}}}{P_{9642} = {P_{9642} \oplus i_{0}}}{P_{10045} = {P_{10045} \oplus i_{0}}}{P_{10179} = {P_{10179} \oplus i_{0}}}{P_{10261} = {P_{10261} \oplus i_{0}}}{P_{10338} = {P_{10338} \oplus i_{0}}}{P_{10412} = {P_{10412} \oplus i_{0}}}} & (8)\end{matrix}$

Here, i₀ is a 0^(th) information word bit, p_(i) is an i^(th) paritybit, and ⊕ is a binary operation. According to the binary operation, 1⊕1equals 0, 1⊕0 equals 1, 0⊕1 equals 1, 0⊕0 equals 0.

Step 3) The other 359 information word bits i_(m) (m=1, 2, . . . , 359)are accumulated in parity bits having addresses calculated based onEquation 9 below. These information word bits may belong to the samecolumn group as that of i₀.

(x+(m mod 360)×Q _(ldpc))mod(N _(ldpc) −K _(ldpc))  (9)

Here, x is an address of a parity bit accumulator corresponding to theinformation word bit i₀, and Q_(ldpc) is a size by which each column iscyclic-shifted in the information word submatrix, and may be 30 in thecase of Table 4. In addition, since m=1, 2, . . . , 359, (m mod 360) inEquation 9 may be regarded as m.

As a result, the information word bits i_(m) (m=1, 2, . . . , 359) areaccumulated in parity bits having the addresses calculated based onEquation 9. For example, an operation as shown in Equation 10 presentedbelow may be performed for the information word bit

$\begin{matrix}{{{P_{275} = {P_{275} \oplus i_{1}}}{P_{479} = {P_{479} \oplus i_{1}}}{P_{521} = {P_{521} \oplus i_{1}}}{P_{1010} = {P_{1010} \oplus i_{1}}}{P_{1094} = {P_{1094} \oplus i_{1}}}{P_{1224} = {P_{1224} \oplus i_{1}}}{P_{1307} = {P_{1307} \oplus i_{1}}}{P_{1701} = {P_{1701} \oplus i_{1}}}{P_{2056} = {P_{2056} \oplus i_{1}}}{P_{3216} = {P_{3216} \oplus i_{1}}}{P_{4429} = {P_{4429} \oplus i_{1}}}{P_{4930} = {P_{4930} \oplus i_{1}}}{P_{5313} = {P_{5313} \oplus i_{1}}}{P_{5443} = {P_{5443} \oplus i_{1}}}{P_{5588} = {P_{5588} \oplus i_{1}}}{P_{6600} = {P_{6600} \oplus i_{1}}}P_{7522} = {P_{7522} \oplus i_{1}}}{P_{7798} = {P_{7798} \oplus i_{1}}}{P_{7867} = {P_{7867} \oplus i_{1}}}{P_{8014} = {P_{8014} \oplus i_{1}}}{P_{8336} = {P_{8336} \oplus i_{1}}}{P_{8513} = {P_{8513} \oplus i_{1}}}{P_{8715} = {P_{8715} \oplus i_{1}}}{P_{9387} = {P_{9387} \oplus i_{1}}}{P_{9672} = {P_{9672} \oplus i_{1}}}{P_{10075} = {P_{10072} \oplus i_{1}}}{P_{10209} = {P_{10209} \oplus i_{1}}}{P_{10291} = {P_{10291} \oplus i_{1}}}{P_{10368} = {P_{10368} \oplus i_{1}}}{P_{10442} = {P_{10442} \oplus i_{1}}}} & (10)\end{matrix}$

Here, i₁ is a 1^(st) information word bit, p_(i) is an ith parity bit,and ⊕ is a binary operation. According to the binary operation, 1⊕1equals 0, 1⊕0 equals 1, 0⊕1 equals 1, 0⊕0 equals 0.

Step 4) The 360^(th) information word bits i₃₆₀ is accumulated in paritybits having indexes defined in the 2^(nd) row (that is, the row of i=1)of Table 4 as addresses of the parity bits.

Step 5) The other 359 information word bits belonging to the same groupas that of the information word bit i₃₆₀ are accumulated in parity bits.In this case, an address of a parity bit may be determined based onEquation 9. However, in this case, x is an address of the parity bitaccumulator corresponding to the information word bit i₃₆₀.

Step 6) Steps 4 and 5 described above are repeated for all of the columngroups of Table 4.

Step 7) As a result, a parity bit p₁ is calculated based on Equation 11presented below. In this case, i is initialized as 1.

p _(i) =p _(i) ⊕p _(i-1) i=1,2, . . . ,N _(ldpc) −K _(ldpc)−1  (11)

In Equation 11, p_(i) is an ith parity bit, N_(ldpc) is a length of anLDPC codeword, K_(ldpc) is a length of an information word of the LDPCcodeword, and ⊕ is a binary operation.

The encoder 110 may calculate parity bits according to theabove-described method.

A parity check matrix may have a configuration as shown in FIG. 22,according to another exemplary embodiment.

Referring to FIG. 22, a parity check matrix 400 may be formed of five(5) matrices A, B, C, Z and D. Hereinafter, a configuration of each ofthese five matrices will be explained to explain the configuration ofthe parity check matrix 400.

First, M₁, M₂, Q₁ and Q₂, which are parameter values related to theparity check matrix 400 as shown in FIG. 22, may be defined as shown inTable 13 presented below according to a length and a code rate of anLDPC codeword.

TABLE 13 Sizes Rate Length M₁ M₂ Q₁ Q₂ 1/15 16200 2520 12600 7 35 648001080 59400 3 165 2/15 16200 3240 10800 9 30 64800 1800 54360 5 151 3/1516200 1080 11880 3 33 64800 1800 50040 5 139 4/15 16200 1080 10800 3 3064800 1800 45720 5 127 5/15 16200 720 10080 2 28 64800 1440 41760 4 1166/16 16200 1080 8640 3 24 64800 1080 37800 3 105

The matrix A is formed of K number of columns and g number of rows, andthe matrix C is formed of K+g number of columns and N−K−g number ofrows. Here, K is a length of information word bits, and N is a length ofthe LDPC codeword.

Indexes of rows where 1 is located in the 0^(th) column of the i^(th)column group in the matrix A and the matrix C may be defined based onTable 14 according to the length and the code rate of the LDPC codeword.In this case, an interval at which a pattern of a column is repeated ineach of the matrix A and the matrix C, that is, the number of columnsbelonging to a same group, may be 360.

For example, when the length N of the LDPC codeword is 16200 and thecode rate is 5/15, the indexes of rows where 1 is located in the 0^(th)column of the i^(th) column group in the matrix A and the matrix C aredefined as shown in Table 14 presented below:

TABLE 14 Indexes of rows where 1 is located in the 0th column of the ithi column group 0 69 244 706 5145 5994 6066 6763 6815 8509 1 257 541 6183933 6188 7048 7484 8424 9104 2 69 500 536 1494 1669 7075 7553 820210305 3 11 189 340 2103 3199 6775 7471 7918 10530 4 333 400 434 18063264 5693 8534 9274 10344 5 111 129 260 3562 3675 3680 3809 5169 73088280 6 100 303 342 3133 3952 4226 4713 5053 5717 9931 7 83 87 374 8282460 4943 6311 8657 9272 9571 8 114 166 325 2680 4698 7703 7886 87919978 10684 9 281 542 549 1671 3178 3955 7153 7432 9052 10219 10 202 271608 3860 4173 4203 5169 6871 8113 9757 11 16 359 419 3333 4198 4737 61707987 9573 10095 12 235 244 584 4640 5007 5563 6029 6316 7678 9968 13 123449 646 2460 3845 4161 6610 7245 7686 8651 14 136 231 468 835 2622 32925158 5294 6584 9926 15 3085 4683 8191 9027 9922 9928 10550 16 2462 31853976 4091 8089 8772 9342

In the above-described example, the length of the LDPC codeword is 16200and the code rate 5/15. However, this is merely an example and theindexes of rows where 1 is located in the 0^(th) column of the i^(th)column group in the matrix A and the matrix C may be defined differentlywhen the length of the LDPC codeword is 64800 or the code rate hasdifferent values.

Hereinafter, positions of rows where 1 exists in the matrix A and thematrix C will be explained with reference to Table 14 by way of anexample.

Since the length N of the LDPC codeword is 16200 and the code rate is5/15 in Table 14, M₁=720, M₂=10080, Q_(i)=2, and Q₂=28 in the paritycheck matrix 400 defined by Table 14 with reference to Table 13.

Herein, Q₁ is a size by which columns of a same column group arecyclic-shifted in the matrix A, and Q₂ is a size by which columns of asame column group are cyclic-shifted in the matrix C.

In addition, Q₁=M₁/L, Q₂=M₂/L, M₁=g, and M₂=N−K−g, and L is an intervalat which a pattern of a column is repeated in the matrix A and thematrix C, and for example, may be 360.

The index of a row where 1 is located in the matrix A and the matrix Cmay be determined based on the M₁ value.

For example, since M₁=720 in the case of Table 14, the positions of therows where 1 exists in the 0^(th) column of the i^(th) column group inthe matrix A may be determined based on values smaller than 720 fromamong the index values of Table 14, and the positions of the rows where1 exists in the 0^(th) column of the i^(th) column group in the matrix Cmay be determined based on values greater than or equal to 720 fromamong the index values of Table 14.

In Table 14, the sequence corresponding to the 0^(th) column group is“69, 244, 706, 5145, 5994, 6066, 6763, 6815, and 8509”. Accordingly, inthe case of the 0^(th) column of the 0^(th) column group of the matrixA, 1 may be located in the 69^(th) row, 244^(th) row, and 706^(th) row,and, in the case of the 0^(th) column of the 0^(th) column group of thematrix C, 1 may be located in the 5145^(th) row, 5994^(th) row,6066^(th) row, 6763^(rd) row, 6815^(th) row, and 8509^(th) row.

Once positions of 1 in the 0^(th) column of each column group of thematrix A are defined, positions of rows where 1 exists in another columnof the column group may be defined by cyclic-shifting from animmediately previous column by Q₁. Once positions of 1 in the 0^(th)column of each column group of the matrix C are defined, position ofrows where 1 exists in another column of the column group may be definedby cyclic-shifting from the previous column by Q₂.

In the above-described example, in the case of the 0^(th) column of the0^(th) column group of the matrix A, 1 exists in the 69^(th) row,244^(th) row, and 706^(th) row. In this case, since Q_(i)=2, the indexesof rows where 1 exists in the 1^(st) column of the 0^(th) column groupare 71 (=69+2), 246 (=244+2), and 708 (=706+2), and the index of rowswhere 1 exists in the 2^(nd) column of the 0^(th) column group are 73(=71+2), 248 (=246+2), and 710 (=708+2).

In the case of the 0^(th) column of the 0^(th) column group of thematrix C, 1 exists in the 5145^(th) row, 5994^(th) row, 6066^(th) row,6763^(rd) row, 6815^(th) row, and 8509^(th) row. In this case, sinceQ₂=28, the index of rows where 1 exists in the 1^(st) column of the0^(th) column group are 5173 (=5145+28), 6022 (=5994+28), 6094(6066+28), 6791 (=6763+28), 6843 (=6815+28), and 8537 (=8509+28) and theindexes of rows where 1 exists in the 2^(nd) column of the 0^(th) columngroup are 5201 (=5173+28), 6050 (=6022+28), 6122 (=6094+28), 6819(=6791+28), 6871 (=6843+28), and 8565 (=8537+28).

In this method, the positions of rows where 1 exists in all columngroups of the matrix A and the matrix C are defined.

The matrix B may have a dual diagonal configuration, the matrix D mayhave a diagonal configuration (that is, the matrix D is an identitymatrix), and the matrix Z may be a zero matrix.

As a result, the parity check matrix 400 shown in FIG. 22 may be definedby the matrices A, B, C, D, and Z having the above-describedconfigurations.

Hereinafter, a method for performing LDPC encoding based on the paritycheck matrix 400 shown in FIG. 22 will be explained. An LDPC encodingprocess when the parity check matrix 400 is defined as shown in Table 14will be explained as an example for the convenience of explanation.

For example, when an information word block S=(s₀, s₁, . . . , S_(K−1))is LDPC-encoded, an LDPC codeword Λ=(λ₀, λ₁, . . . , λ_(N-1))=(s₀, s₁, .. . , S_(K−1), p₀, p₁, . . . , P_(M) ₁ _(+M) ₂ ⁻¹) including a paritybit P=(p₀, p₁, . . . , P_(M) ₁ _(+M) ₂ ⁻¹) may be generated.

M₁ and M₂ indicate the size of the matrix B having the dual diagonalconfiguration and the size of the matrix D having the diagonalconfiguration, respectively, and M₁=g, M₂=N−K−g.

A process of calculating a parity bit is as follows. In the followingexplanation, the parity check matrix 400 is defined as shown in Table 14as an example for the convenience of explanation.

Step 1) λ and p are initialized as λ_(i)=s_(i) (i=0, 1, . . . , K−1),p_(j)=0 (j=0, 1, . . . , M₁+M₂−1).

Step 2) The 0^(th) information word bit λ₀ is accumulated in parity bitshaving the indexes defined in the first row (that is, the row of i=0) ofTable 14 as addresses of the parity bits. This may be expressed byEquation 12 presented below:

$\begin{matrix}{{P_{69} = {P_{69} \oplus \lambda_{0}}}{P_{244} = {P_{244} \oplus \lambda_{0}}}{P_{706} = {P_{706} \oplus \lambda_{0}}}{P_{5145} = {P_{5145} \oplus \lambda_{0}}}{P_{5994} = {P_{5994} \oplus \lambda_{0}}}{P_{6066} = {P_{6066} \oplus \lambda_{0}}}{P_{6763} = {P_{6763} \oplus \lambda_{0}}}{P_{6815} = {P_{6815} \oplus \lambda_{0}}}{P_{8509} = {P_{8509} \oplus \lambda_{0}}}} & (12)\end{matrix}$

Step 3) Regarding the next L−1 number of information word bits λ_(m)(m=1, 2, . . . , L−1), λ_(m) is accumulated in parity bits addresscalculated based on Equation 13 presented below:

(χ+m×Q ₁)mod M ₁(if χ<M ₁)

M ₁+{(χ−M ₁ +m×Q ₂)mod M ₂} (if χ≥M ₁)  (13)

Here, x is an address of a parity bit accumulator corresponding to the0^(th) information word bit λ₀.

In addition, Q₁=M₁/L and Q₂=M₂/L. In addition, since the length N of theLDPC codeword is 16200 and the code rate is 5/15 in Table 14, M₁=720,M₂=10080, Q₁=2, Q₂=28, and L=360 with reference to Table 13.

Accordingly, an operation as shown in Equation 14 presented below may beperformed for the 1^(st) information word bit λ₁:

$\begin{matrix}{{P_{71} = {P_{71} \oplus \lambda_{1}}}{P_{246} = {P_{246} \oplus \lambda_{1}}}{P_{708} = {P_{708} \oplus \lambda_{1}}}{P_{5173} = {P_{5173} \oplus \lambda_{1}}}{P_{6022} = {P_{6022} \oplus \lambda_{1}}}{P_{6094} = {P_{6094} \oplus \lambda_{1}}}{P_{6791} = {P_{6791} \oplus \lambda_{1}}}{P_{6843} = {P_{6843} \oplus \lambda_{1}}}{P_{8537} = {P_{8537} \oplus \lambda_{1}}}} & (14)\end{matrix}$

Step 4) Since the same addresses of parity bits as in the second row(that is the row of i=1) of Table 14 are given with respect to theL^(th) information word bit 4, in a similar method to theabove-described method, addresses of parity bits regarding the next L−1number of information word bits λ_(m) (m=L+1, L+2, 2L−1) are calculatedbased on Equation 13. In this case, x is an address of a parity bitaccumulator corresponding to the information word bit λ_(L) and may beobtained based on the second row of Table 14.

Step 5) The above-described processes are repeated for L number of newinformation word bits of each bit group by considering new rows of Table14 as addresses of the parity bit accumulator.

Step 6) After the above-described processes are repeated for thecodeword bits λ₀ to λ_(K−1), values regarding Equation 15 presentedbelow are calculated in sequence from i=1:

P _(i) =P _(i) ⊕P _(i-1)(i=1,2, . . . ,M ₁−1)  (15)

Step 7) Parity bits λ_(K) to λ_(K+M) ₁ ⁻¹ corresponding to the matrix Bhaving the dual diagonal configuration are calculated based on Equation16 presented below:

λ_(K+L×t+s) =p _(Q) ₁ _(×S+t)(0≤s<L,0≤t<Q ₁)  (16)

Step 8) Addresses of a parity bit accumulator regarding L number of newcodeword bits λ_(K) to λ_(K+M) ₁ ⁻¹ of each group are calculated basedon Table 14 and Equation 13.

Step 9) After the codeword bits λ_(K) to λ_(K+M) ₁ ⁻¹ are calculated,parity bits λ_(K+M) ₁ ⁻¹ to λ_(K+M) _(I) _(+M) ₂ ⁻¹ corresponding to thematrix C having the diagonal configuration are calculated based onEquation 17 presented below:

λ_(K+M) ₁ _(+L×t+s) =P _(M) ₁ _(+Q) ₂ _(×S+t)(0≤s<L,0≤t<Q)  (17)

The encoder 110 may calculate parity bits according to theabove-described method.

Referring back to FIG. 19, the encoder 110 may perform LDPC encoding byusing various code rates such as 3/15, 4/15, 5/15, 6/15, 7/15, 8/15,9/15, 10/15, 11/15, 12/15, 13/15, etc. In addition, the encoder 110 maygenerate an LDPC codeword having various lengths such as 16200, 64800,etc., based on a length of information word bits and the code rate.

In this case, the encoder 110 may perform the LDPC encoding by using aparity check matrix, and the parity check matrix is configured as shownin FIGS. 20 to 22.

In addition, the encoder 110 may perform Bose, Chaudhuri, Hocquenghem(BCH) encoding as well as LDPC encoding. To achieve this, the encoder110 may further include a BCH encoder (not shown) to perform BCHencoding.

In this case, the encoder 110 may perform encoding in an order of BCHencoding and LDPC encoding. The encoder 110 may add BCH parity bits toinput bits by performing BCH encoding and LDPC-encodes the informationword bits including the input bits and the BCH parity bits, therebygenerating an LDPC codeword.

The interleaver 120 interleaves the LDPC codeword. That is, theinterleaver 120 receives the LDPC codeword from the encoder 110, andinterleaves the LDPC codeword based on various interleaving rules.

In particular, the interleaver 120 may interleave the LDPC codeword suchthat a bit included in a predetermined bit group from among a pluralityof bit groups constituting the LDPC codeword (that is, a plurality ofgroups or a plurality of blocks) is mapped onto a predetermined bit of amodulation symbol. Accordingly, the modulator 130 may map a bit includedin a predetermined group from among the plurality of groups of the LDPCcodeword onto a predetermined bit of a modulation symbol.

To achieve this, as shown in FIG. 23, the interleaver 120 may include aparity interleaver 121, a group interleaver (or a group-wise interleaver122), a group twist interleaver 123 and a block interleaver 124.

The parity interleaver 121 interleaves the parity bits constituting theLDPC codeword.

When the LDPC codeword is generated based on the parity check matrix 200having the configuration of FIG. 20, the parity interleaver 121 mayinterleave only the parity bits of the LDPC codeword by using Equations18 presented below:

u _(i) =c _(i) for 0≤i<K _(ldpc), and

u _(K) _(ldpc) _(+M−t+s) =c _(K) _(ldpc) _(+Q) _(ldpc) _(·s+t) for0≤s<M,0=t<Q _(ldpc)  (18),

where M is an interval at which a pattern of a column group is repeatedin the information word submatrix 210, that is, the number of columnsincluded in a column group (for example, M=360), and Q_(ldpc) is a sizeby which each column is cyclic-shifted in the information word submatrix210. That is, the parity interleaver 121 performs parity interleavingwith respect to the LDPC codeword c=(c₀, c₁, . . . , C_(N) _(ldpc) ⁻¹),and outputs U=(u₀, u₁, . . . , u_(N) _(ldpc) ⁻¹).

The LDPC codeword of which parities are interleaved in theabove-described method may be configured such that a predeterminednumber of continuous bits of the LDPC codeword have similar decodingcharacteristics (cycle characteristics or cycle distribution, a degreeof a column, etc.).

For example, the LDPC codeword may have same characteristics on thebasis of M number of continuous bits. Here, M is an interval at which apattern of a column group is repeated in the information word submatrix210 and, for example, may be 360.

A product of the LDPC codeword bits and the parity check matrix shouldbe “0”. This means that a sum of products of the i^(th) LDPC codewordbit, c_(i) (i=0, 1, . . . , N_(ldpc)−1) and the i^(th) column of theparity check matrix should be a “0” vector. Accordingly, the i^(th)LDPCcodeword bit may be regarded as corresponding to the i^(th) column ofthe parity check matrix.

In the case of the parity check matrix 200 of FIG. 20, M number ofcolumns in the information word submatrix 210 belong to a same group andthe information word submatrix 210 has same characteristics on the basisof a column group (for example, columns belonging to a same column grouphave a same column degree distribution and same cycle characteristics ora same cycle distribution).

In this case, since M number of continuous bits in the information wordbits correspond to the same column group of the information wordsubmatrix 210, the information word bits may be formed of M number ofcontinuous bits having a same codeword characteristics. When the paritybits of the LDPC codeword are interleaved by the parity interleaver 121,the parity bits of the LDPC codeword may be formed of M number ofcontinuous bits having same codeword characteristics.

However, regarding the LDPC codeword encoded based on the parity checkmatrix 300 of FIG. 21 and the parity check matrix 400 of FIG. 22, parityinterleaving may not be performed. In this case, the parity interleaver121 may be omitted.

The group interleaver 122 may divide the parity-interleaved LDPCcodeword into a plurality of bit groups (or blocks) and rearrange theorder of the plurality of bit groups in bit group wise (or bit groupunit). That is, the group interleaver 122 may interleave the pluralityof bit groups in bit group wise.

When the parity interleaver 121 is omitted depending on cases, the groupinterleaver 122 may divide the LDPC codeword into a plurality of bitgroups and rearrange an order of the bit groups in bit group wise.

The group interleaver 122 divides the parity-interleaved LDPC codewordinto a plurality of bit groups by using Equation 19 or Equation 20presented below.

$\begin{matrix}{X_{j} = {{\left\{ {{\left. u_{k} \middle| j \right. = \left\lfloor \frac{k}{360} \right\rfloor},{0 \leq k < N_{ldpc}}} \right\} \mspace{14mu} {for}\mspace{14mu} 0} \leq j < N_{group}}} & (19) \\{{X_{j} = \left\{ {\left. u_{k} \middle| {{360 \times j} \leq k < {360 \times \left( {j + 1} \right)}} \right.,{0 \leq k < N_{ldpc}}} \right\}}{{{for}\mspace{14mu} 0} \leq j < N_{group}}} & (20)\end{matrix}$

where N_(group) is the total number of bit groups, X_(j) is the j^(th)bit group, and u_(k) is the k^(th) LDPC codeword bit input to the groupinterleaver 122. In addition,

$\left\lfloor \frac{k}{360} \right\rfloor$

is the largest integer which is smaller than or equal to k/360.

Since 360 in these equations indicates an example of the interval M atwhich the pattern of a column group is repeated in the information wordsubmatrix, 360 in these equations can be changed to M.

The LDPC codeword which is divided into the plurality of bit groups maybe as shown in FIG. 24.

Referring to FIG. 24, the LDPC codeword is divided into the plurality ofbit groups and each bit group is formed of M number of continuous bits.When M is 360, each of the plurality of bit groups may be formed of 360bits. Accordingly, the bit groups may be formed of bits corresponding tocolumn groups of a parity check matrix.

Since the LDPC codeword is divided by M number of continuous bits,K_(ldpc) number of information word bits are divided into (K_(ldpc)/M)number of bit groups and N_(ldpc)−K_(ldpc) number of parity bits aredivided into (N_(ldpc)−K_(ldpc))/M number of bit groups. Accordingly,the LDPC codeword may be divided into (N_(ldpc)/M) number of bit groupsin total.

For example, when M=360 and the length N_(ldpc) of the LDPC codeword is16200, the number of groups N_(groups) constituting the LDPC codeword is45(=16200/360), and, when M=360 and the length N_(ldpc) of the LDPCcodeword is 64800, the number of bit groups N_(group) constituting theLDPC codeword is 180(=64800/360).

As described above, the group interleaver 122 divides the LDPC codewordsuch that M number of continuous bits are included in a same group sincethe LDPC codeword has the same codeword characteristics on the basis ofM number of continuous bits. Accordingly, when the LDPC codeword isgrouped by M number of continuous bits, the bits having the samecodeword characteristics belong to the same group.

In the above-described example, the number of bits constituting each bitgroup is M. However, this is merely an example and the number of bitsconstituting each bit group is variable.

For example, the number of bits constituting each bit group may be analiquot part of M. That is, the number of bits constituting each bitgroup may be an aliquot part of the number of columns constituting acolumn group of the information word submatrix of the parity checkmatrix. In this case, each bit group may be formed of aliquot part of Mnumber of bits. For example, when the number of columns constituting acolumn group of the information word submatrix is 360, that is, M=360,the group interleaver 122 may divide the LDPC codeword into a pluralityof bit groups such that the number of bits constituting each bit groupis one of the aliquot parts of 360.

In the following explanation, the number of bits constituting a bitgroup is M as an example, for the convenience of explanation.

Thereafter, the group interleaver 122 interleaves the LDPC codeword inbit group wise. The group interleaver 122 may group the LDPC codewordinto the plurality of bit groups and rearrange the plurality of bitgroups in bit group wise. That is, the group interleaver 122 changespositions of the plurality of bit groups constituting the LDPC codewordand rearranges the order of the plurality of bit groups constituting theLDPC codeword in bit group wise.

Here, the group interleaver 122 may rearrange the order of the pluralityof bit groups in bit group wise such that bit groups respectivelyincluding bits mapped onto a same modulation symbol from among theplurality of bit groups are spaced apart from one another at apredetermined interval.

In this case, the group interleaver 122 may rearrange the order of theplurality of bit groups (or blocks) in bit group wise by considering atleast one of the number of rows and columns of the block interleaver124, the number of bit groups of the LDPC codeword, and the number ofbits included in each bit group so that bit groups respectivelyincluding bits mapped onto a same modulation symbol are spaced apartfrom one another at a predetermined interval.

To achieve this, the group interleaver 122 may rearrange the order ofthe plurality of bit groups in bit group wise by using Equation 21presented below:

Y _(j) =X _(π(j))(0≤j<N _(group))  (21),

where X_(j) is the j^(th) bit group before group interleaving, and Y_(j)is the j^(th) bit group (or block) after group interleaving. Inaddition, π(j) is a parameter indicating an interleaving order and isdetermined based on at least one of a length of an LDPC codeword, amodulation method, and a code rate. That is, π(j) denotes a permutationorder for group wise interleaving.

Accordingly, X_(π(j)) is a π(j)^(th) bit group (or block) before groupinterleaving, and Equation 21 means that the π(j)^(th) bit group beforethe group interleaving becomes the j^(th) bit group after the groupinterleaving.

According to an exemplary embodiment, an example of π(j) may be definedas in Tables 15 to 27 presented below.

In this case, π(j) is defined according to a length of an LPDC codewordand a code rate, and a parity check matrix is also defined according toa length of an LDPC codeword and a code rate. Accordingly, when LDPCencoding is performed based on a specific parity check matrix accordingto a length of an LDPC codeword and a code rate, the LDPC codeword maybe interleaved in bit group wise based on π(j) satisfying the samelength of the LDPC codeword and code rate.

For example, when the encoder 110 performs LDPC encoding at a code rateof 5/15 to generate an LDPC codeword of a length of 16200, the groupinterleaver 122 may perform interleaving by using π(j) which is definedaccording to the length of the LDPC codeword of 16200 and the code rateof 7/15 in Tables 15 to 31 presented below.

For example, when the length of the LDPC codeword is 16200, the coderate is 5/15, and the modulation method (or modulation format) is64-Quadrature Amplitude Modulation (QAM), π(j) may be defined as inTable 15 presented below. In particular, table 15 may be applied whenLDPC encoding is performed based on the parity check matrix defined byTable 14.

TABLE 15 Order of bits group to be b ock interleaved π(j) (0 ≤ j < 45)j-th block of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 8 39 31 11 37 2 44 10 38 4 033 1 7 25 28 27 29 13 43 20 34 30 Group-wise 3 22 17 12 42 9 16 32 14 4041 36 18 5 19 21 35 6 15 24 23 26 interleaver input

In the case of Table 15, Equation 21 may be expressed as Y₀=X_(π(0))=X₈,Y₁=X_(π(1))=X₃₉, Y₂=X_(π(2))=X₃₁, . . . , Y₄₃=X_(π(43))=X₂₃,Y₄₄=X_(π(44))=X₂₆. Accordingly, the group interleaver 122 may rearrangethe order of the plurality of bit groups in bit group wise by changingthe 8^(th) bit group (or block) to the 0^(th) bit group, the 39^(th) bitgroup to the 1^(st) bit group, the 31^(st) bit group to the 2^(nd) bitgroup, . . . , the 23^(rd) bit group to the 43^(rd) bit group, and the26^(th) bit group to the 44^(th) bit group. Herein, the changing the Athbit group to the Bth bit group means rearranging the order of bit groupsso that the Ath bit group is to be the Bth bit group.

In another example, when the length of the LDPC codeword is 16200, thecode rate is 7/15, and the modulation method is 64-QAM, π(j) may bedefined as in Table 16 presented below. In particular, Table 16 may beapplied when LDPC encoding is performed based on the parity check matrixdefined by Table 5.

TABLE 16 Order of bits group to be block interleaved π(j) (0 ≤ j < 45)j-th block of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 6 15 11 9 14 8 18 12 16 0 1910 17 13 24 33 42 20 2 23 31 4 37 Group wise 29 39 3 25 35 44 38 1 5 2632 7 36 34 28 43 27 30 40 41 21 22 interleaver input

In the case of Table 16, Equation 21 may be expressed as Y₀=X_(π(0))=X₆,Y₁=X_(π(1))=X₁₅, Y₂=X_(π(2))=X₁₁, . . . , Y₄₃=X₍₄₃₎=X₂₁,Y₄₄=X_(π(44))=X₂₂ Accordingly, the group interleaver 122 may rearrangethe order of the plurality of bit groups in bit group wise by changingthe 6^(th) bit group to the 0^(th) bit group, the 15^(th) bit group tothe 1^(st) bit group, the 11^(th) bit group to the 2^(nd) bit group, . .. , the 21^(st) bit group to the 43^(rd) bit group, and the 29^(th) bitgroup to the 44^(th) bit group.

In another example, when the length of the LDPC codeword is 16200, thecode rate is 9/15, and the modulation method is 64-QAM, π(j) may bedefined as in Table 17 presented below. In particular, Table 17 may beapplied when LDPC encoding is performed based on the parity check matrixdefined by Table 7.

TABLE 17 Order of bits group to be block interleaved π(j) (0 ≤ j < 45)j-th block of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 10 13 4 5 6 20 14 7 25 18 17 39 8 12 38 32 24 22 29 23 36 35 Group-wise 44 15 43 21 11 37 34 33 26 3040 39 28 2 1 0 31 42 27 19 16 41 interleaver input

In the case of Table 17, Equation 21 may be expressed asY₀=X_(π(0))=X₁₀, Y₁=X_(π(1))=X₁₃, Y₂=X_(π(2))=X₄, . . . , Y₄₃=X₍₄₃₎=X₁₆,Y₄₄=X_(π(44))=X₄₁. Accordingly, the group interleaver 122 may rearrangethe order of the plurality of bit groups in bit group wise by changingthe 10^(th) bit group to the 0^(th) bit group, the 13^(th) bit group tothe 1^(st) bit group, the 4^(th) bit group to the 2^(nd) bit group, . .. , the 16^(th) bit group to the 43^(rd) bit group, and the 41^(st) bitgroup to the 44^(th) bit group.

In another example, when the length of the LDPC codeword is 16200, thecode rate is 11/15, and the modulation method is 64-QAM, π(j) may bedefined as in Table 18 presented below. In particular, Table 18 may beapplied when LDPC encoding is performed based on the parity check matrixdefined by Table 9.

TABLE 18 Order of bits group to be block interleaved π(j) (0 ≤ j < 45)j-th block of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 31 23 21 7 8 10 9 3 17 24 1119 18 20 6 4 12 15 13 5 2 22 26 Group-wise 14 28 27 25 29 42 16 37 44 3433 35 41 0 36 39 40 38 1 30 32 43 interleaver input

In the case of Table 18, Equation 21 may be expressed asY₀=X_(π(0))=X₃₁, Y₁=X_(π(1))=₁₂₃, Y₂=X_(π(2))=X₂₁, . . . ,Y₄₃=X_(π(43))=X₃₂, Y₄₄=X_(π(44))=X₄₃. Accordingly, the group interleaver122 may rearrange the order of the plurality of bit groups in bit groupwise by changing the 31^(st) bit group to the 0^(th) bit group, the23^(rd) bit group to the 1^(st) bit group, the 21^(st) bit group to the2^(nd) bit group, . . . , the 32^(nd) bit group to the 43^(rd) bitgroup, and the 43^(rd) bit group to the 44^(th) bit group.

In another example, when the length of the LDPC codeword is 16200, thecode rate is 13/15, and the modulation method is 64-QAM, π(j) may bedefined as in Table 19 presented below. In particular, Table 19 may beapplied when LDPC encoding is performed based on the parity check matrixdefined by Table 11.

TABLE 19 Order of bits group to be block interleaved π(j) (0 ≤ j < 45) jth block of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 9 7 15 10 11 12 13 6 21 17 1420 26 8 25 32 34 23 2 4 31 18 5 Group-wise 27 29 3 38 36 39 43 41 42 4044 1 28 33 22 16 19 24 0 30 35 37 interleaver input

In the case of Table 19, Equation 21 may be expressed as Y₀=X_(π(0))=X₉,Y₁=X_(π(1))=X₇, Y₂=X_(π(2))=X₁₅, . . . , Y₄₃=X₍₄₃₎=X₃₅,Y₄₄=X_(π(44))=X₃₇. Accordingly, the group interleaver 122 may rearrangethe order of the plurality of bit groups in bit group wise by changingthe 9^(th) bit group to the 0^(th) bit group, the 7^(th) bit group tothe 1^(st) bit group, the 15^(th) bit group to the 2^(nd) bit group, . .. , the 35^(th) bit group to the 43^(rd) bit group, and the 37^(th)group to the 44^(th) bit group.

In another example, when the length of the LDPC codeword is 16200, thecode rate is 5/15, and the modulation method is 64-QAM, π(j) may bedefined as in Table 20 presented below. In particular, Table 20 may beapplied when LDPC encoding is performed based on the parity check matrixdefined by Table 4.

TABLE 20 Order of bits group to be block interleaved π(j) (0 ≤ j < 45)j-th block of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 8 11 9 10 14 7 6 4 5 42 13 012 3 35 40 38 1 24 31 22 34 19 Group-wise 37 2 15 29 20 41 25 18 17 3328 23 30 21 32 43 39 27 44 26 16 36 interleaver input

In the case of Table 20, Equation 21 may be expressed as Y₀=X_(π(0))=X₈,Y₁=X_(π(1))=X₁₁, Y₂=X_(π(2))=X9, . . . , Y₄₃=X₍₄₃₎=X₁₆,Y₄₄=X_(π(44))=X₃₆. Accordingly, the group interleaver 122 may rearrangethe order of the plurality of bit groups in bit group wise by changingthe 8^(th) bit group to the 0^(th) bit group, the 11^(th) bit group tothe 1^(st) bit group, the 9^(th) bit group to the 2^(nd) bit group, . .. , the 16^(th) bit group to the 43^(rd) bit group, and the 36^(th) bitgroup to the 44^(th) bit group.

In another example, when the length of the LDPC codeword is 16200, thecode rate is 7/15, and the modulation method is 64-QAM, π(j) may bedefined as in Table 21 presented below. In particular, Table 21 may beapplied when LDPC encoding is performed based on the parity check matrixdefined by Table 6.

TABLE 21 Order of bits group to be block interleaved π(j) (0 ≤ j < 45)j-th block of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 16 0 18 6 14 11 17 8 2 13 9 1915 20 34 5 29 4 39 7 41 25 24 Group-wise 21 31 26 35 36 3 42 43 32 27 1028 22 23 30 33 40 38 1 12 44 37 interleaver input

In the case of Table 21, Equation 21 may be expressed asY₀=X_(π(0))=X₁₆, Y₁=X_(π(1))=X₀, Y₂=X_(π(2))=X₁₈, . . . ,Y₄₃=X_(π(43))=X₄₄, Y₄₄=X_(π(44))=X₃₇. Accordingly, the group interleaver122 may rearrange the order of the plurality of bit groups in bit groupwise by changing the 16^(th) bit group to the 0^(th) bit group, the0^(th) bit group to the 1^(st) bit group, the 18^(th) bit group to the2^(nd) bit group, . . . , the 44^(th) bit group to the 43^(rd) bitgroup, and the 40^(th) bit group to the 44^(th) bit group.

In another example, when the length of the LDPC codeword is 16200, thecode rate is 9/15, and the modulation method is 64-QAM, π(j) may bedefined as in Table 22 presented below. In particular, Table 22 may beapplied when LDPC encoding is performed based on the parity check matrixdefined by Table 8.

TABLE 22 Order of bits group to be block interleaved π(j) (0 ≤ j < 45)j-th block of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 12 6 15 10 17 7 14 2 24 20 2619 25 11 28 18 21 36 39 13 23 3 34 Group-wise 0 4 44 38 32 22 9 1 30 540 8 42 35 27 31 41 37 33 16 29 43 interleaver input

In the case of Table 22, Equation 21 may be expressed asY₀=X_(π(0))=X₁₂, Y₁=X_(π(1))=X₆, Y₂=X_(π(2))=X₁₅, . . . , Y₄₃=X₍₄₃₎=X₂₉,Y₄₄=X_(π(44))=X₄₃. Accordingly, the group interleaver 122 may rearrangethe order of the plurality of bit groups in bit group wise by changingthe 12^(th) bit group to the 0^(th) bit group, the 6^(th) bit group tothe 1^(st) bit group, the 15^(th) bit group to the 2^(nd) bit group, . .. , the 29^(th) bit group to the 43rd bit group, and the 43^(rd) bitgroup to the 44^(th) bit group.

In another example, when the length of the LDPC codeword is 16200, thecode rate is 11/15, and the modulation method is 64-QAM, π(j) may bedefined as in Table 23 presented below. In particular, Table 23 may beapplied when LDPC encoding is performed based on the parity check matrixdefined by Table 10.

TABLE 23 Order of bits group to be block interleaved π(j) (0 ≤ j < 45) jth block of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 28 16 23 27 29 11 6 7 18 17 150 26 9 2 4 1 32 34 10 3 22 39 Group-wise 44 21 8 14 38 42 12 43 37 33 3631 41 20 30 25 5 35 40 24 13 19 interleaver input

In the case of Table 23, Equation 21 may be expressed asY₀=X_(π(0))=X₂₈, Y₁=X_(π(1))=X₁₆, Y₂=X_(π(2))=X₂₃, . . . ,Y₄₃=X_(π(43))=X₁₃, Y₄₄=X_(π(44))=X₁₉ Accordingly, the group interleaver122 may rearrange the order of the plurality of bit groups in bit groupwise by changing the 28^(th) bit group to the 0^(th) bit group, the16^(th) bit group to the 1^(st) bit group, the 23rd bit group to the2^(nd) bit group, . . . , the 13^(th) bit group to the 43^(rd) bitgroup, and the 19^(th) bit group to the 44^(th) bit group.

In another example, when the length of the LDPC codeword is 16200, thecode rate is 13/15, and the modulation method is 64-QAM, π(j) may bedefined as in Table 24 presented below. In particular, Table 24 may beapplied when LDPC encoding is performed based on the parity check matrixdefined by Table 12.

TABLE 24 Order of bits group to be block interleaved π(j) (0 ≤ j < 45)j-th block of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 5 18 6 15 19 9 10 8 16 0 13 114 22 27 20 11 4 24 12 7 30 36 Group-wise 28 21 29 23 33 41 44 40 43 3942 3 2 35 37 26 34 32 25 17 38 31 interleaver input

In the case of Table 24, Equation 21 may be expressed as Y₀=X_(π(0))=X₅,Y₁=X_(π(1))=X₁₈, Y₂=X₇₄₂)=X₆, . . . , Y₄₃=X_(π(43))=X₃₈,Y₄₄=X_(π(44))=X₃₁. Accordingly, the group interleaver 122 may rearrangethe order of the plurality of bit groups in bit group wise by changingthe 5^(th) bit group to the 0^(th) bit group, the 18^(th) bit group tothe 1^(st) bit group, the 6^(th) bit group to the 2^(nd) bit group, . .. , the 38^(th) bit group to the 43^(rd) bit group, and the 31^(st) bitgroup to the 44^(th) bit group.

In another example, when the length of the LDPC codeword is 16200, thecode rate is 5/15, and the modulation method is 64-QAM, π(j) may bedefined as in Table 25 presented below. In particular, Table 25 may beapplied when LDPC encoding is performed based on the parity check matrixdefined by Table 14.

TABLE 25 Order of bits group to be block interleaved π(j) (0 ≤ j < 45)j-th block of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 25 44 8 39 37 2 11 7 0 12 4 3133 38 43 21 26 13 28 29 1 27 18 Group-wise 17 34 3 42 10 19 20 32 36 409 41 5 35 30 22 15 16 6 24 23 14 interleaver input

In the case of Table 25, Equation 21 may be expressed asY₀=X_(π(0))=X₂₅, Y₁=X_(π(1))=X₄₄, Y₂=X_(π(2))=X₈, . . . ,Y₄₃=X_(π(43))=X₂₃, Y₄₄=X_(π(44))=X₁₄. Accordingly, the group interleaver122 may rearrange the order of the plurality of bit groups in bit groupwise by changing the 25^(th) bit group to the 0^(th) bit group, the44^(th) bit group to the 1^(st) bit group, the 8^(th) bit group to the2^(nd) bit group, . . . , the 23^(rd) bit group to the 43^(rd) bitgroup, and the 14^(th) bit group to the 44^(th) bit group.

In another example, when the length of the LDPC codeword is 16200, thecode rate is 7/15, and the modulation method is 64-QAM, π(j) may bedefined as in Table 26 presented below. In particular, Table 26 may beapplied when LDPC encoding is performed based on the parity check matrixdefined by Table 5.

TABLE 26 Order of bits group to be block interleaved π(j) (0 ≤ j < 45)j-th block of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 6 20 0 12 11 16 13 22 14 24 87 1 23 17 19 42 9 18 34 27 28 39 Group-wise 43 10 38 33 26 21 40 41 1530 29 37 32 2 31 44 36 35 25 5 4 3 interleaver input

In the case of Table 26, Equation 21 may be expressed as Y₀=X_(π(0))=X₆,Y₁=X_(π(1))=X₂₀, Y₂=X_(π(2))=X₀, . . . , Y₄₃=X*₄₃)=X₄,Y₄₄=X_(7,(44))=X₃. Accordingly, the group interleaver 122 may rearrangethe order of the plurality of bit groups in bit group wise by changingthe 6^(th) bit group to the 0^(th) bit group, the 20^(th) bit group tothe 1^(st) bit group, the 0^(th) bit group to the 2^(nd) bit group, . .. , the 4th bit group to the 43^(rd) bit group, and the 3rd bit group tothe 44^(th) bit group.

In another example, when the length of the LDPC codeword is 16200, thecode rate is 9/15, and the modulation method is 64-QAM, π(j) may bedefined as in Table 27 presented below. In particular, Table 27 may beapplied when LDPC encoding is performed based on the parity check matrixdefined by Table 7.

TABLE 27 Order of bits group to be block interleaved π(j) (0 ≤ j < 45)j-th block of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 7 3 14 5 20 4 31 10 25 34 4016 6 17 37 11 18 15 26 32 23 12 44 Group-wise 35 8 19 42 38 13 43 33 2230 24 39 28 2 1 0 29 21 27 9 36 41 interleaver input

In the case of Table 27, Equation 21 may be expressed as Y₀=X_(π(0))=X₇,Y₁=X_(π(1))=X₃, Y₂=X_(π(2))=X₁₄, . . . , Y₄₃=X_(π(43))=X₃₆,Y₄₄=X_(π(44))=X₄₁. Accordingly, the group interleaver 122 may rearrangethe order of the plurality of bit groups in bit group wise by changingthe 7^(th) bit group to the 0^(th) bit group, the 3^(rd) bit group tothe 1^(st) bit group, the 14^(th) bit group to the 2^(nd) bit group, . .. , the 36^(th) bit group to the 43^(rd) bit group, and the 41^(st) bitgroup to the 44^(th) bit group.

As another example, when a length of the LDPC codeword is 16200, a coderate is 11/15, and a modulation method is 64-QAM, π(j) can be defined asTable 28 shown below. In particular, Table 28 can be applied to a casewhere the LDPC encoding is performed by the parity check matrix definedby Table 9.

TABLE 28 Order of bits group to be block interleaved π(j) (0 ≤ j < 45)j-th block of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 31 20 21 25 4 16 9 3 17 24 510 12 28 6 19 8 15 13 11 29 22 27 Group-wise 14 23 34 26 18 42 2 37 4439 33 35 41 0 36 7 40 38 1 30 32 43 interleaver input

In case of Table 28, Equation 21 is expressed as Y₀=X_(π(0))=X₃₁,Y₁=X_(π(1))=X₂₀, Y₂=X_(π(2))=X₂₁, . . . , Y₄₃=X_(π(43))=X₃₂,Y₄₄=X₍₄₄₎=X₄₃. Accordingly, the group interleaver 122 may change anorder of the 31^(st) bit group to the 0^(th), the 20^(th) bit group tothe 1^(st), the 21^(st) bit group to the 2^(nd), . . . , the 32^(nd) bitgroup to the 43^(rd), and the 43^(rd) bit group to the 44^(th) andrearrange an order of a plurality of bit groups in bit group wise.

As another example, when a length of the LDPC codeword is 16200, a coderate is 7/15, and a modulation method is 64-QAM, π(j) can be defined asTable 29 shown below. Table 29 can be applied to the case where LDPCencoding is performed based on a parity check matrix defined by Table 6.

TABLE 29 Order of bits group to be block interleaved π(j) (0 ≤ j < 45)j-th block of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 11 8 18 10 14 27 17 0 12 13 919 4 24 34 5 23 31 20 7 15 36 38 Group-wise 16 44 21 3 25 35 33 39 32 4122 29 28 43 30 42 40 26 1 2 6 37 interleaver input

In case of Table 29, Equation 21 can be expressed as Y₀=X_(π(0))=X₁₁,Y₁=X_(π(1))=X₈, Y₂=X_(π(2))=X₁₈, . . . , Y₄₃=X_(π(43))=X₆,Y₄₄=X₍₄₄₎=X₃₇. Accordingly, the group interleaver 122 may change anorder from the 11^(th) bit group to the 0^(th), the 8^(th) bit group tothe 1^(st), the 18^(th) bit group to the 2^(nd), . . . , the 6^(th) bitgroup to the 43^(rd), and the 37^(th) bit group to the 44^(th), andrearrange an order of a plurality of bit groups in bit group wise.

As another example, when a length of the LDPC codeword is 16200, a coderate is 9/15, and a modulation method is 64-QAM, π(j) can be defined asTable 30 shown below. In particular, Table 30 may be applied to the casewhere LDPC encoding is performed based on the parity check matrixdefined by Table 8.

TABLE 30 Order of bits group to be block interleaved π(j) (0 ≤ j < 45)j-th block of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 12 6 26 28 14 7 17 2 24 20 153 25 11 10 18 8 36 39 13 23 19 16 Group-wise 0 4 44 5 32 9 21 1 29 38 4022 42 35 27 31 41 37 33 34 30 43 interleaver input

As to Table 30, Equation 21 may be indicated as Y₀=X_(π(0))=X₁₂,Y₁=X₇₀)=X₆, Y₂=X_(π(2))=X₂₆, Y₄₃=X*₄₃)=X₃₀, Y₄₄=X_(π(44))=X₄₃.Accordingly, the group interleaver 122 may change an order from the12^(th) bit group to the 0^(th), 6^(th) bit group to the 1^(st), the26^(th) bit group to the 2^(nd), . . . , the 30^(th) bit group to the43^(rd), the 43^(rd) bit group to the 44^(th), and rearrange an order ofa plurality of bit groups in bit group wise.

As another example, when a length of the LDPC codeword is 16200, a coderate is 11/15, and a modulation method is 64-QAM, π(j) can be defined asTable 31 shown below. Table 31 can be applied to the case where LDPCencoding is performed based on the parity check matrix defined by Table10.

TABLE 31 Order of bits group to be block interleaved π(j) (0 ≤ j < 45)j-th block of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 28 16 5 31 29 11 6 34 7 8 15 022 20 2 4 1 27 9 26 24 42 17 Group-wise 10 21 32 14 39 43 38 37 44 33 3619 41 3 30 25 23 35 40 18 13 12 interleaver input

In case of Table 31, Equation 21 can be indicated as Y₀=X_(π(0))=X₂₈,Y₁=X_(π(1))=X₁₆, Y₂=X_(π(2))=X₅, . . . , Y₄₃=X_(π(43))=X₁₃,Y₄₄=X_(π(44))=X₁₂. Accordingly, the group interleaver 122 may change anorder from the 28^(th) bit group to the 0^(th), the 16^(th) bit group tothe 1^(st), the 5^(th) bit group to the 2^(nd), . . . , the 13^(th) bitgroup to the 43^(rd), the 12^(th) bit group to the 44^(th), andrearrange an order of a plurality of bit groups in bit group wise.

In the above-described examples, the length of the LDPC codeword is16200 and the code rate is 5/15, 7/15, 9/15, 11/15 and 13/15. However,they are merely examples and the interleaving pattern may be defineddifferently when the length of the LDPC codeword is 64800 or the coderate has different values.

As described above, the group interleaver 122 may rearrange the order ofthe plurality of groups in group wise by using Equation 21 and Tables 15to 31.

The “j-th block of Group-wise Interleaver output” in Tables 15 to 31indicates the j^(th) bit group output from the group interleaver 122after interleaving, i.e., group interleaving, and the “π(j)-th block ofGroup-wise Interleaver input” indicates the π(j)^(th) bit group input tothe group interleaver 122.

In addition, since the order of the bit groups constituting the LDPCcodeword is rearranged by the group interleaver 122 in bit group wise,and then the bit groups are block-interleaved by the block interleaver124, which will be described below, the “Order of bit groups to be blockinterleaved” is set forth in Tables 15 to 31 in relation to π(j).

The LDPC codeword which is group-interleaved in the above-describedmethod is illustrated in FIG. 25. Comparing the LDPC codeword of FIG. 7and the LDPC codeword of FIG. 6 before group interleaving, it can beseen that the order of the plurality of bit groups constituting the LDPCcodeword is rearranged.

That is, as shown in FIGS. 24 and 25, the groups of the LDPC codewordare arranged in order of bit group X₀, bit group X₁, . . . , bit groupX_(Ngroup-1) before being group-interleaved, and are arranged in anorder of bit group Y₀, bit group Y₁, . . . , bit group Y_(Ngroup-1)after being group-interleaved. In this case, the order of arranging thebit groups by the group interleaving may be determined based on Tables15 to 27.

The group twist interleaver 123 interleaves bits in a same group. Thatis, the group twist interleaver 123 may rearrange an order of bits in asame bit group by changing the order of the bits in the same bit group.

In this case, the group twist interleaver 123 may rearrange the order ofthe bits in the same bit group by cyclic-shifting a predetermined numberof bits from among the bits in the same bit group.

For example, as shown in FIG. 26, the group twist interleaver 123 maycyclic-shift bits included in a bit group Y₁ to the right by 1 bit. Inthis case, bits located in the 0^(th) position, the 1^(st) position, the2^(nd) position, . . . , the 358^(th) position, and the 359^(th)position in the bit group Y₁ as shown in FIG. 26 are cyclic-shifted tothe right by 1 bit. As a result, the bit located in the 359^(th)position before being cyclic-shifted is located in the front of the bitgroup Y₁ and the bits located in the 0^(th) position, the 1^(st)position, the 2^(nd) position, . . . , the 358^(th) position beforebeing cyclic-shifted are shifted to the right serially by 1 bit andlocated.

In addition, the group twist interleaver 123 may rearrange the order ofbits in each bit group by cyclic-shifting by a different number of bitsin each bit group.

For example, the group twist interleaver 123 may cyclic-shift the bitsincluded in the bit group Y₁ to the right by 1 bit, and may cyclic-shiftthe bits included in the bit group Y₂ to the right by 3 bits.

However, the above-described group twist interleaver 123 may be omittedaccording to circumstances.

In addition, the group twist interleaver 123 is placed after the groupinterleaver 122 in the above-described example. However, this is merelyan example. That is, the group twist interleaver 123 changes only theorder of bits in at least one bit group and does not change the order ofthe bit groups. Therefore, the group twist interleaver 123 may be placedbefore the group interleaver 122.

The block interleaver 124 interleaves the plurality of bit groups theorder of which has been rearranged. The block interleaver 124 mayinterleave the plurality of bit groups the order of which has beenrearranged by the group interleaver 122 in bit group wise (or in a bitgroup unit). The block interleaver 124 is formed of a plurality ofcolumns each including a plurality of rows, and may interleave bydividing the plurality of rearranged bit groups based on a modulationorder determined according to a modulation method.

In this case, the block interleaver 124 may interleave the plurality ofbit groups the order of which has been rearranged by the groupinterleaver 122 in bit group wise. The block interleaver 124 mayinterleave by dividing the plurality of rearranged bit groups accordingto a modulation order by using a first part and a second part.

The block interleaver 124 interleaves by dividing each of the pluralityof columns into a first part and a second part, writing the plurality ofbit groups in the plurality of columns of the first part serially in bitgroup wise, dividing the bits of the remaining bit groups into groups(or sub bit groups) each including a predetermined number of bits basedon the number of the plurality of columns, and writing the sub bitgroups in the plurality of columns of the second part serially.

Here, the number of bit groups which are interleaved in bit group wiseby the block interleaver 124 may be determined by at least one of thenumber of rows and columns constituting the block interleaver 124, thenumber of bit groups, and the number of bits included in each bit group.In other words, the block interleaver 124 may determine bit groups whichare to be interleaved in bit group wise considering at least one of thenumber of rows and columns constituting the block interleaver 124, thenumber of bit groups, and the number of bits included in each bit group,interleave the bit groups in bit group wise using the first part of thecolumns, and divide bits of the bit groups not interleaved using thefirst part of the columns into sub bit groups and interleave the sub bitgroups. For example, the block interleaver 124 may interleave at leastpart of the plurality of bit groups in bit group wise using the firstpart of the columns, and divide bits of the remaining bit groups intosub bit groups and interleave the sub bit groups using the second partof the columns.

Meanwhile, interleaving bit groups in bit group wise means that the bitsincluded in a same bit group are written in a same column in the presentblock interleaving. In other words, the block interleaver 124, in caseof bit groups which are interleaved in bit group wise, may not dividebits included in a same bit group and write these bits in a same column.However, in case of bit groups which are not interleaved in bit groupwise, the block interleaver 124 may divide bits in a same bit group andwrite these bits in different columns.

Accordingly, the number of rows constituting the first part of thecolumns is an integer multiple of the number of bits included in one bitgroup (for example, 360), and the number of rows constituting the secondpart of the columns may be less than the number of bits included in onebit group.

In addition, in all bit groups interleaved using the first part of thecolumns, bits included in a same bit group are written in a same columnin the first part for interleaving, and in at least one groupinterleaved using the second part, bits are divided and written in atleast two columns of the second part for interleaving.

The specific interleaving method will be described later.

Meanwhile, the group twist interleaver 123 changes only an order of bitsin a bit group and does not change an order of bit groups byinterleaving. Accordingly, the order of bit groups to be interleaved bythe block interleaver 124, that is, the order of bit groups input to theblock interleaver 124 may be determined by the group interleaver 122.The order of bit groups to be interleaved by the block interleaver 124may be determined by π(j) defined in Tables 15 to 27.

As described above, the block interleaver 124 may interleave a pluralityof bit groups the order of which has been rearranged in bit group wiseby using a plurality of columns each including a plurality of rows.

In this case, the block interleaver 124 may interleave an LDPC codewordby dividing a plurality of columns into at least two parts as describedabove. For example, the block interleaver 124 may divide each of theplurality of columns into the first part and the second part, andinterleave the plurality of bit groups constituting the LDPC codeword.

In this case, the block interleaver 124 may divide each of the pluralityof columns into N number of parts (N is an integer greater than or equalto 2) according to whether the number of bit groups constituting theLDPC codeword is an integer multiple of the number of columnsconstituting the block interleaver 124, and may perform interleaving.

If the number of bit groups constituting the LDPC codeword is an integermultiple of the number of columns constituting the block interleaver124, the block interleaver 124 may interleave the plurality of bitgroups constituting the LDPC codeword in bit group wise without dividingeach of the plurality of columns into parts.

The block interleaver 124 may interleave by writing the plurality of bitgroups of the LDPC codeword on each of the columns in bit group wise ina column direction, and reading each row of the plurality of columns inwhich the plurality of bit groups are written in bit group wise in a rowdirection.

In this case, the block interleaver 124 may interleave by writing bitsincluded in a predetermined number of bit groups, which corresponds to aquotient obtained by dividing the number of bit groups of the LDPCcodeword by the number of columns of the block interleaver 124, on eachof the plurality of columns serially in a column direction, and readingeach row of the plurality of columns in which the bits are written in arow direction.

Hereinafter, a bit group located in the j^(th) position after beinginterleaved by the group interleaver 122 will be referred to as bitgroup Y_(j).

For example, it is assumed that the block interleaver 124 is formed of Cnumber of columns each including R₁ number of rows. In addition, it isassumed that the LDPC codeword is formed of N_(group) number of bitgroups and the number of bit groups N_(group) is a multiple of C.

In this case, when the quotient obtained by dividing N_(group) number ofbit groups constituting the LDPC codeword by C number of columnsconstituting the block interleaver 124 is A (=N_(group)/C) (A is aninteger greater than 0), the block interleaver 124 may interleave bywriting A (=N_(group)/C) number of bit groups in the C number of columnsserially in a column direction and reading the bits written in the Cnumber of columns in a row direction.

For example, as shown in FIG. 27, the block interleaver 124 writes bitsincluded in bit group Y₀, bit group Y₁, . . . , bit group Y_(A−1) in the1^(st) column from the 1^(st) row to the R₁ ^(th) row, writes bitsincluded in bit group Y_(A), bit group Y_(A+1), . . . , bit groupY_(2A−1) in the 2nd column from the 1^(st) row to the R₁ ^(th) row, . .. , and writes bits included in bit group Y_(CA−A), bit groupY_(CA−A+1), . . . , bit group Y_(CA−1) in the last column from the1^(st) row to the R₁ ^(th) row. The block interleaver 124 may read thebits written in the plurality of columns in a row direction.

Accordingly, the block interleaver 124 interleaves all bit groupsconstituting the LDPC codeword in bit group wise.

However, when the number of bit groups of the LDPC codeword is not aninteger multiple of the number of columns of the block interleaver 124,the block interleaver 124 may divide each column into two (2) parts andinterleave a part of the plurality of bit groups of the LDPC codeword inbit group wise, and divide bits of the other or remaining bit groupsinto sub bit groups and interleave the sub bit groups. In this case, thebits included in the other bit groups, that is, the bits included in thenumber of groups which correspond to the remainder when the number ofbit groups constituting the LDPC codeword is divided by the number ofcolumns are not interleaved in bit group wise, but interleaved by beingdivided according to the number of columns.

The block interleaver 124 may interleave the LDPC codeword by dividingeach of the plurality of columns into two parts.

In this case, the block interleaver 124 may divide the plurality ofcolumns into the first part and the second part based on at least one ofthe number of columns of the block interleaver 124, the number of bitgroups constituting the LDPC codeword, and the number of bitsconstituting each of the bit groups.

Here, each of the plurality of bit groups may be formed of 360 bits. Inaddition, the number of bit groups of the LDPC codeword is determinedbased on the length of the LDPC codeword and the number of bits includedin the bit group. For example, when an LDPC codeword in the length of16200 is divided such that each bit group has 360 bits, the LDPCcodeword is divided into 45 bit groups. Alternatively, when an LDPCcodeword in the length of 64800 is divided such that each bit group has360 bits, the LDPC codeword may be divided into 180 bit groups. Further,the number of columns constituting the block interleaver 124 may bedetermined according to a modulation method. This will be explainedbelow.

Accordingly, the number of rows constituting each of the first part andthe second part may be determined based on the number of columnsconstituting the block interleaver 124, the number of bit groupsconstituting the LDPC codeword, and the number of bits constituting eachof the plurality of bit groups.

In each of the plurality of columns, the first part may be formed of asmany rows as the number of bits included in at least one bit group whichcan be written in a column in bit group wise from among the plurality ofbit groups of the LDPC codeword, according to the number of columnsconstituting the block interleaver 124, the number of bit groupsconstituting the LDPC codeword, and the number of bits constituting eachbit group.

In each of the plurality of columns, the second part may be formed ofrows excluding as many rows as the number of bits included in each of atleast some bit groups, which can be written in each of the plurality ofcolumns in bit group wise, from among the plurality of bit groupsconstituting the LDPC codeword. The number rows of the second part maybe the same value as a quotient when the number of bits included in allbit groups excluding bit groups corresponding to the first part isdivided by the number of columns constituting the block interleaver 124.In other words, the number of rows of the second part may be the samevalue as a quotient when the number of bits included in the remainingbit groups which are not written in the first part from among bit groupsconstituting the LDPC codeword is divided by the number of columns.

That is, the block interleaver 124 may divide each of the plurality ofcolumns into the first part including as many rows as the number of bitsincluded in bit groups which can be written in each column in bit groupwise, and the second part including the other rows.

Accordingly, the first part may be formed of as many rows as the numberof bits included in each bit group, that is, as many rows as an integermultiple of M. However, since the number of codeword bits constitutingeach bit group may be an aliquot part of M as described above, the firstpart may be formed of as many rows as an integer multiple of the numberof bits constituting each bit group.

In this case, the block interleaver 124 may interleave by writing andreading the LDPC codeword in the first part and the second part in thesame method.

The block interleaver 124 may interleave by writing the LDPC codeword inthe plurality of columns constituting each of the first part and thesecond part in a column direction, and reading the plurality of columnsconstituting the first part and the second part in which the LDPCcodeword is written in a row direction.

That is, the block interleaver 124 may interleave by writing all bitsincluded in at least some bit groups, which can be written in each ofthe plurality of columns in bit group wise, among the plurality of bitgroups constituting the LDPC codeword, in each of the plurality ofcolumns of the first part serially, dividing all bits included in theother bit groups and writing the divided bits in the plurality ofcolumns of the second part in a column direction, and reading the bitswritten in each of the plurality of columns constituting each of thefirst part and the second part in a row direction.

In this case, the block interleaver 124 may interleave by dividing theother bit groups from among the plurality of bit groups constituting theLDPC codeword based on the number of columns constituting the blockinterleaver 124.

The block interleaver 124 may interleave by dividing the bits includedin the other bit groups by the number of a plurality of columns, writingthe divided bits in the plurality of columns constituting the secondpart in a column direction, and reading the plurality of columnsconstituting the second part, where the divided bits are written, in arow direction.

That is, the block interleaver 124 may divide the bits included in theother bit groups, from among the plurality of bit groups of the LDPCcodeword, by the number of columns, and may write the divided bits inthe second part of the plurality of columns serially in a columndirection. Here, the bits included in the other bit groups are the sameas the bits in the number of bit groups which correspond to theremainder generated when the number of bit groups constituting the LDPCcodeword is divided by the number of columns.

For example, it is assumed that the block interleaver 124 is formed of Cnumber of columns each including R₁ number of rows. In addition, it isassumed that the LDPC codeword is formed of N_(group) number of bitgroups, the number of bit groups N_(group) is not a multiple of C, andA×C+1=N_(group) (A is an integer greater than 0). In other words, it isassumed that when the number of bit groups constituting the LDPCcodeword is divided by the number of columns, the quotient is A and theremainder is 1.

In this case, as shown in FIGS. 28 and 29, the block interleaver 124 maydivide each column into a first part including R₁ number of rows and asecond part including R₂ number of rows. In this case, R₁ may correspondto the number of bits included in bit groups which can be written ineach column in bit group wise, and R₂ may be R₁ subtracted from thenumber of rows of each column.

That is, in the above-described example, the number of bit groups whichcan be written in each column in bit group wise is A, and the first partof each column may be formed of as many rows as the number of bitsincluded in A number of bit groups, that is, may be formed of as manyrows as A×M number.

In this case, the block interleaver 124 writes the bits included in thebit groups which can be written in each column in bit group wise, thatis, A number of bit groups, in the first part of each column in thecolumn direction.

That is, as shown in FIGS. 28 and 29, the block interleaver 124 writesbits included in each of bit group Y₀, bit group Y₁, . . . , bit groupY_(A−1) in the 1^(st) to R₁ ^(th) rows of the first part of the 1^(st)column, writes bits included in each of bit group Y_(A), bit groupY_(A+1), . . . , bit group Y_(2A−1) in the 1^(st) to R₁ ^(th) rows ofthe first part of the 2^(nd) column, . . . , writes bits included ineach of bit group Y_(CA−A), bit group Y_(CA−A)+1, . . . , bit groupY_(CA−1) in the 1^(st) to R₁ ^(th) rows of the first part of the lastcolumn C.

As described above, the block interleaver 124 writes the bits includedin the bit groups which can be written in the first part of theplurality of columns in bit group wise.

In other words, in the above exemplary embodiment, the bits included ineach of bit group (Y₀), bit group (Y₁), . . . , bit group (Y_(A−1)) maynot be divided and all of the bits may be written in the first column,the bits included in each of bit group (Y_(A)), bit group (Y_(A+1)), . .. , bit group (Y_(2A−1)) may not be divided and all of the bits may bewritten in the second column, . . . , and the bits included in each ofbit group (Y_(CA−A)), bit group (Y_(CA−A+1)), . . . , group (Y_(CA−1))may not be divided and all of the bits may be written in the lastcolumn. As such, all bit groups interleaved using the first part arewritten such that all bits included in a same bit group are written in asame column of the first part.

Thereafter, the block interleaver 124 divides bits included in bitgroups other than the bit groups written in the first part of theplurality of columns from among the plurality of bit groups, and writesthe divided bits in the second part of each column in the columndirection. In this case, the block interleaver 124 divides the bitsincluded in the other bit groups such that a same number of bits arewritten in the second part of each column in the column direction. Here,an order of writing bits in the first part and the second part may bereversed. That is, bits may be written in the second part ahead of thefirst part according to an exemplary embodiment.

In the above-described example, since A×C+1=N_(group), when the bitgroups constituting the LDPC codeword are written in the first partserially, the last bit group Y_(Ngroup-1) of the LDPC codeword is notwritten in the first part and remains. Accordingly, the blockinterleaver 124 divides the bits included in the bit group Y_(Ngroup-1)into C number of sub bit groups as shown in FIG. 28, and writes thedivided bits (that is, the bits corresponding to the quotient when thebits included in the last group (Y_(Ngroup-1)) are divided by C) in thesecond part of each column serially.

The bits divided based on the number of columns may be referred to assub bit groups. In this case, each of the sub bit groups may be writtenin each column of the second part. That is, the bits included in theother bit groups may be divided and may form the sub bit groups.

That is, the block interleaver 124 writes the bits in the 1^(st) to R₂^(th) rows of the second part of the 1^(st) column, writes the bits inthe 1^(st) to R₂ ^(th) rows of the second part of the 2^(nd) column, . .. , and writes the bits in the 1^(st) to R₂ ^(th) rows of the secondpart of the column C. In this case, the block interleaver 124 may writethe bits in the second part of each column in the column direction asshown in FIG. 28.

That is, in the second part, bits constituting a bit group may not bewritten in a same column and may be written in a plurality of columns.In other words, in the above example, the last bit group (Y_(Ngroup-1))is formed of M number of bits and thus, the bits included in the lastbit group (Y_(Ngroup-1)) may be divided by M/C and written in eachcolumn. That is, the bits included in the last bit group (Y_(Ngroup-1))are divided by M/C, forming M/C number of sub bit groups, and each ofthe sub bit groups may be written in each column of the second part.

Accordingly, in at least one bit group which is interleaved by thesecond part, the bits included in the at least one bit group are dividedand written in at least two columns constituting the second part.

In the above-described example, the block interleaver 124 writes thebits in the second part in the column direction. However, this is merelyan example. That is, the block interleaver 124 may write the bits in theplurality of columns of the second part in the row direction. In thiscase, however, the block interleaver 124 may write the bits in the firstpart still in the same method as described above, that is, in the columndirection.

Referring to FIG. 29, the block interleaver 124 writes bits from the1^(st) row of the second part in the 1^(st) column to the 1^(st) row ofthe second part in the column C, writes bits from the 2^(nd) row of thesecond part in the 1^(st) column to the 2^(nd) row of the second part inthe column C, . . . , etc., and writes bits from the R₂ ^(th) row of thesecond part in the 1^(st) column to the R₂ ^(th) row of the second partin the column C.

On the other hand, the block interleaver 124 reads the bits written ineach row of each part serially in the row direction. That is, as shownin FIGS. 28 and 29, the block interleaver 124 reads the bits written inthe first part of the plurality of columns serially in the rowdirection, and reads the bits written in the second part of theplurality of columns serially in the row direction.

Accordingly, the block interleaver 124 may interleave a part of theplurality of bit groups constituting the LDPC codeword in bit groupwise, and divide bits included the remaining bit groups and interleavedthe divided bits. That is, the block interleaver 124 may interleave bywriting the LDPC codeword constituting a predetermined number of bitgroups from among the plurality of bit groups in the plurality ofcolumns of the first part in bit group wise, dividing bits included theother bit groups from among the plurality of bit groups and writing thedivided bits in each of the columns of the second part, and reading theplurality of columns of the first and second parts in the row direction.

As described above, the block interleaver 124 may interleave theplurality of bit groups in the methods described above with reference toFIGS. 27 to 29.

In particular, in the case of FIG. 28, the bits included in the bitgroup which does not belong to the first part are written in the secondpart in the column direction and read in the row direction. In view ofthis, the order of the bits included in the bit group which does notbelong to the first part is rearranged. Since the bits included in thebit group which does not belong to the first part are interleaved asdescribed above, bit error rate (BER)/frame error rate (FER) performancecan be improved in comparison with a case in which such bits are notinterleaved.

However, the bit group which does not belong to the first part may notbe interleaved, as shown in FIG. 29. That is, since the blockinterleaver 124 writes the bits included in the group which does notbelong to the first part in the second part and read from the secondpart in the same row direction, the order of the bits included in thegroup which does not belong to the first part is not changed and outputto the modulator 130 serially. In this case, the bits included in thegroup which does not belong to the first part may be output serially andmapped onto a modulation symbol.

In FIGS. 28 and 29, the last single bit group of the plurality of bitgroups is written in the second part. However, this is merely anexample. The number of bit groups written in the second part may varyaccording to the total number of bit groups of the LDPC codeword, thenumber of columns and rows, the number of transmission antennas, etc.

The block interleaver 124 may have a configuration as shown in Tables 32and 33 presented below:

TABLE 32 N_(ldpc) = 64800 16 64 256 1024 4096 QPSK QAM QAM QAM QAM QAM C2 4 6 8 10 12 R₁ 32400 16200 10800 7920 6480 5400 R₂ 0 0 0 180 0 0

TABLE 33 N_(ldpc) = 16200 16 64 256 1024 4096 QPSK QAM QAM QAM QAM QAM C2 4 6 8 10 12 R₁ 7920 3960 2520 1800 1440 1080 R₂ 180 90 180 225 180 270

In the above tables, C (or NO is the number of columns of the blockinterleaver 124, R₁ is the number of rows constituting the first part ineach column, and R₂ is the number of rows constituting the second partin each column.

Referring to Tables 32 and 33, the number of columns, C, has the samevalue as a modulation order according to a modulation method, and eachof a plurality of columns is formed of as many rows as the number ofbits constituting the LDPC codeword divided by the number of a pluralityof columns.

For example, when a length N_(ldpc) of an LDPC codeword is 16200 and amodulation method is 64-QAM, the block interleaver 124 is formed of six(6) columns as the modulation order is six (6) in the case of 64-QAM,and each column is formed of rows as many as R₁+R₂=2700 (=16200/6).

Meanwhile, referring to Tables 32 and 33, when the number of bit groupsconstituting an LDPC codeword is an integer multiple of the number ofcolumns, the block interleaver 124 interleaves without dividing eachcolumn. Therefore, R₁ corresponds to the number of rows constitutingeach column, and R₂ is 0. In contrast, when the number of bit groupsconstituting an LDPC codeword is not an integer multiple of the numberof columns, the block interleaver 124 interleaves the groups by dividingeach column into the first part formed of R₁ number of rows, and thesecond part formed of R₂ number of rows.

When the number of columns of the block interleaver 124 is equal to thenumber of bits constituting a modulation symbol, bits included in a samebit group are mapped onto a single bit of each modulation symbol asshown in Tables 32 and 33.

For example, when N_(ldpc)=16200 and the modulation method is 64-QAM,the block interleaver 124 may be formed of six (6) columns eachincluding 2700 rows. In this case, bits included in each of a pluralityof bit groups are written in the six (6) columns and bits written in asame row in each column are output serially. In this case, since six (6)bits constitute a single modulation symbol in the modulation method of64-QAM, bits included in a same bit group, that is, bits output from asingle column, may be mapped onto a single bit of each modulationsymbol. For example, bits included in a bit group written in the 1^(st)column may be mapped onto the first bit of each modulation symbol.

Referring to Tables 32 and 33, the total number of rows of the blockinterleaver 124, that is, R₁+R₂, is N_(ldpc)/C.

In addition, the number of rows of the first part, R₁, is an integermultiple of the number of bits included in each group, M (e.g., M=360),and maybe expressed as └N_(group)/C┘×M, and the number of rows of thesecond part, R₂, may be N_(ldpc)/C−R₁. Herein, └N_(group)/C┘ is thelargest integer which is smaller than or equal to N_(group)/C. Since R₁is an integer multiple of the number of bits included in each group, M,bits may be written in R₁ in bit groups wise.

In addition, Tables 32 and 33 show that, when the number of bit groupsconstituting an LDPC codeword is not an integer multiple of the numberof columns, the block interleaver 124 interleaves by dividing eachcolumn into two parts.

The length of the LDPC codeword divided by the number of columns is thetotal number of rows included in the each column. In this case, when thenumber of bit groups constituting the LDPC codeword is an integermultiple of the number of columns, each column is not divided into twoparts for interleaving by the block interleaver 124. However, when thenumber of bit groups constituting the LDPC codeword is not an integermultiple of the number of columns, each column is divided into two partsfor the interleaving by the block interleaver 124.

For example, it is assumed that the number of columns of the blockinterleaver 124 is identical to the number of bits constituting amodulation symbol, and an LDPC codeword is formed of 64800 bits as shownin Table 32. In this case, each bit group of the LDPC codeword is formedof 360 bits, and the LDPC codeword is formed of 64800/360 (=180) bitgroups.

When the modulation method is 16-QAM, the block interleaver 124 may beformed of four (4) columns and each column may have 64800/4 (=16200)rows.

In this case, since the number of bit groups constituting the LDPCcodeword divided by the number of columns is 180/4 (=45), bits can bewritten in each column in bit group wise without dividing each columninto two parts. That is, bits included in 45 bit groups which is thequotient when the number of bit groups constituting the LDPC codeword isdivided by the number of columns, that is, 45×360 (=16200) bits can bewritten in each column.

However, when the modulation method is 256-QAM, the block interleaver124 may be formed of eight (8) columns and each column may have 64800/8(=8100) rows.

In this case, since the number of bit groups of the LDPC codeworddivided by the number of columns is 180/8=22.5, the number of bit groupsconstituting the LDPC codeword is not an integer multiple of the numberof columns. Accordingly, the block interleaver 124 divides each of theeight (8) columns into two parts to perform interleaving in bit groupwise.

In this case, since the bits should be written in the first part of eachcolumn in bit group wise, the number of bit groups which can be writtenin the first part of each column in bit group wise is 22, which is thequotient when the number of bit groups constituting the LDPC codeword isdivided by the number of columns, and accordingly, the first part ofeach column has 22×360 (=7920) rows. Accordingly, 7920 bits included in22 bit groups may be written in the first part of each column.

The second part of each column has as many rows as a value obtained bysubtracting the number of rows of the first part from the total numberof rows of each column. Accordingly, the second part of each column isformed of 8100-7920 (=180) rows.

In this case, bits included in bit groups which have not been written inthe first part are divided and written in the second part of the eight(8) columns.

Since 22×8 (=176) bit groups are written in the first part, the numberof bit groups to be written in the second part is 180-176 (=4) (forexample, bit group Y₁₇₆, bit group Y₁₇₇, bit group Y₁₇₈, and bit groupY₁₇₉ from among bit group Y₀, bit group Y₁, bit group Y₂, . . . , bitgroup Y₁₇₈, and bit group Y₁₇₉ constituting the LDPC codeword).

Accordingly, the block interleaver 124 may write the four (4) bit groupswhich have not been written in the first part and remains from among theplurality of groups constituting the LDPC codeword in the second part ofthe eight (8) columns serially.

That is, the block interleaver 124 may write 180 bits of the 360 bitsincluded in the bit group Y₁₇₆ in the 1^(st) row to the 180^(th) row ofthe second part of the 1^(st) column in the column direction, and writethe other 180 bits in the 1^(st) row to the 180^(th) row of the secondpart of the 2^(nd) column in the column direction. In addition, theblock interleaver 124 may write 180 bits of the 360 bits included in thebit group Y₁₇₇ in the 1^(st) row to the 180^(th) row of the second partof the 3^(rd) column in the column direction, and may write the other180 bits in the 1^(st) row to the 180^(th) row of the second part of the4^(th) column in the column direction. In addition, the blockinterleaver 124 may write 180 bits of the 360 bits included in the bitgroup Y₁₇₈ in the 1^(st) row to the 180^(th) row of the second part ofthe 5^(th) column in the column direction, and may write the other 180bits in the 1^(st) row to the 180^(th) row of the second part of the6^(th) column in the column direction. In addition, the blockinterleaver 124 may write 180 bits of the 360 bits included in the bitgroup Y₁₇₉ in the 1^(st) row to the 180^(th) row of the second part ofthe 7^(th) column in the column direction, and may write the other 180bits in the 1^(st) row to the 180^(th) row of the second part of the8^(th) column in the column direction.

Accordingly, bits included in a bit group which has not been written inthe first part and remains are not written in a same column in thesecond part and may be divided and written in a plurality of columns.

Hereinafter, the block interleaver 124 of FIG. 23 according to anexemplary embodiment will be explained with reference to FIG. 30.

In a group-interleaved LDPC codeword (v₀, v₁, . . . , v_(N) _(ldpc) ⁻¹),Y_(j) is continuously arranged like V={Y₀, Y₁, . . . , Y_(N) _(group)⁻¹}.

An LDPC codeword after group interleaving may be interleaved by theblock interleaver 124 as shown in FIG. 30. In this case, the blockinterleaver 124 divides a plurality of columns into the first part(Part 1) and the second part (Part 2) based on the number of columns ofthe block interleaver 124 and the number of bits included in a bitgroup. In this case, in the first part, bits constituting a bit groupmay be written in a same column, and in the second part, bitsconstituting a bit group may be written in a plurality of columns (i.e.bits constituting a bit group may be written in at least two columns).

Input bits v_(i) are written serially in from the first part to thesecond part in column wise, and then read out serially from the firstpart to the second part in row wise. That is, data bits v are writtenserially into the block interleaver starting from the first part and tothe second part in a column direction, and then read out serially fromthe first part to the second part in a row direction. Accordingly, aplurality of bits included in a same bit group in the first part may bemapped onto a single bit of each modulation symbol. In other words, thebits included in a same bit group in the first part may be mapped onto aplurality of bits respectively included in a plurality of modulationsymbols, respectively.

In this case, the number of columns and the number of rows of the firstpart and the second part of the block interleaver 124 vary according toa modulation format and a length of the LDPC codeword as in Table 34presented below. That is, the first part and the second part blockinterleaving configurations for each modulation format and code lengthare specified in Table 34 presented below. Here, the number of columnsof the block interleaver 124 may be equal to the number of bitsconstituting a modulation symbol. In addition, a sum of the number ofrows of the first part, N_(r1) and the number of rows of the secondpart, N_(r2), is equal to N_(ldpc)/N_(c) (herein, N_(C) is the number ofcolumns). In addition, since N_(r1) (=└N_(group)N_(c)┘×360) is amultiple of 360, a multiple of bit groups may be written in the firstpart.

TABLE 34 Rows in Part 1 N_(r1) Rows in Part 2 N_(r2) N_(ldpc) = N_(ldpc)= N_(ldpc) = N_(ldpc) = Columns Modulation 64800 16200 64800 16200 N_(c)QPSK 32400 7920 0 180 2 16-QAM 16200 3960 0 90 4 64-QAM 10800 2520 0 1806 256-QAM 7920 1800 180 225 8 1024-QAM 6480 1440 0 180 10 4096-QAM 54001080 0 270 12

Hereinafter, an operation of the block interleaver 124 will beexplained.

As shown in FIG. 30, the input bit v_(i) (0≤i<N_(C)×N_(r1)) is writtenin r_(i) row of c_(i) column of the first part of the block interleaver124. Herein, c_(i) and r_(i) are

$c_{i} = \left\lfloor \frac{i}{N_{r\; 1}} \right\rfloor$

and r_(i)=(i mod N_(r1)), respectively.

In addition, the input bit v_(i) (N_(C)×N_(r1)≤i<N_(ldpc)) is written inr_(i) row of c_(i) column of the second part of the block interleaver124. Herein, c_(i) and r_(i) satisfy

$c_{i} = \left\lfloor \frac{\left( {i - {N_{C} \times N_{r\; 1}}} \right)}{N_{r\; 2}} \right\rfloor$

and r_(i)=N_(r1)+{(i−N_(C)×N_(r1))mod N_(r2)}, respectively.

An output bit q_(j) (0≤j<N_(ldpc)) is read from c_(j) column of r_(j)row. Herein, r_(j) and c_(j) satisfy

$r_{j} = \left\lfloor \frac{j}{N_{c}} \right\rfloor$

and c_(j)=(j mod NO, respectively.

For example, when the length N_(ldpc) of an LDPC codeword is 64800 andthe modulation method is 256-QAM, the order of bits output from theblock interleaver 124 may be (q₀, q₁, q₂, . . . , q₆₃₃₅₇, q₆₃₃₅₈,q₆₃₃₅₉, q₆₃₃₆₀, q₆₃₃₆₁, . . . , q₆₄₇₉₉)=(v₀, v₇₉₂₀, v₁₅₈₄₀, . . . ,v₄₇₅₁₉, v₅₅₄₃₉, v₆₃₃₅₉, v₆₃₃₆₀, v₆₃₅₄₀, . . . , v₆₄₇₉₄). Here, theindexes of the right side of the foregoing equation may be specificallyexpressed for the eight (8) columns as 0, 7920, 15840, 23760, 31680,39600, 47520, 55440, 1, 7921, 15841, 23761, 31681, 39601, 47521, 55441,. . . , 7919, 15839, 23759, 31679, 39599, 47519, 55439, 63359, 63360,63540, 63720, 63900, 64080, 64260, 64440, 64620, . . . , 63539, 63719,63899, 64079, 64259, 64439, 64619, 64799.

Hereinafter, an interleaving operation of the block interleaver 124 willbe explained.

The block interleaver 124 may interleave by writing a plurality of bitgroups in a plurality of columns in bit group wise in a columndirection, and reading each row of the plurality of columns in which theplurality of bit groups are written in bit group wise in a rowdirection.

In this case, the number of columns constituting the block interleaver124 may vary according to a modulation method, and the number of rowsmay be the length of the LDPC codeword divided by the number of columns.For example, when the modulation method is 64-QAM, the block interleaver124 may be formed of six (6) columns. In this case, when the lengthN_(ldpc) of the LDPC codeword is 16200, the number of rows is 2700(=16200/6).

Hereinafter, a method for interleaving the plurality of bit groups inbit group wise by the block interleaver 124 will be explained.

When the number of bit groups constituting an LDPC codeword is aninteger multiple of the number of columns, the block interleaver 124 mayinterleave by writing as many number of bit groups as the number of bitgroups constituting the LDPC codeword divided by the number of columnsin each column serially in bit group wise.

For example, when the modulation method is 64-QAM and the lengthN_(ldpc) of the LDPC codeword is 16200, the block interleaver 124 may beformed of six (6) columns each including 2700 rows. In this case, sincethe LDPC codeword is divided into (16200/360=45) number of bit groupswhen the length N_(ldpc) of the LDPC codeword is 16200, the number ofbit groups (=45) of the LDPC codeword may not be an integer multiple ofthe number of columns (=6) when the modulation method is 64-QAM. Thatis, a remainder is generated when the number of bit groups of the LDPCcodeword is divided by the number of columns.

As described above, when the number of the bit groups constituting theLDPC codeword is not an integer multiple of the number of columnsconstituting the block interleaver 124, the block interleaver 124 maydivide each column into N number of parts (N is an integer greater thanor equal to 2) and perform interleaving.

The block interleaver 124 may divide each column into a part whichincludes rows as many as the number of bits included in a bit groupwhich can be written in each column in group wise (that is, the firstpart) and a part including remaining rows (that is, the second part),and perform interleaving using each of the divided parts.

Here, the part which includes rows as many as the number of bitsincluded in a group that can be written in bit group wise, that is, thefirst part may be composed of rows as many as an integer multiple of M.That is, when the modulation method is 64-QAM, each column of the blockinterleaver 124 consists of 2700 rows, and thus each column of the blockinterleaver 124 may be composed of the first part including 2520(=360×7) rows and the second part including 180 (=2700-2520) rows.

In this case, the block interleaver 124, after sequentially writing atleast a part of bit groups, which can be written in bit group wise inthe plurality of columns, from among the plurality of bit groupsconstituting the LDPC codeword, may divide and write remaining bitgroups at an area other than an area where the at least a part of bitgroups are written in the plurality of columns. That is, the blockinterleaver 124 may write bits included in at least a part of bit groupsthat can be written in the first part of the plurality of columns in bitgroup wise, and divide and write the bits included in the remaining bitgroup in the second part of the plurality of columns.

For example, when the modulation method is 64-QAM, as illustrated inFIGS. 31 and 32, the block interleaver 124 may include six (6) columnsand each column can be divided into the first part including 2520 rowsand the second part including 180 rows.

In this case, the block interleaver 124 write bits included in a bitgroup that can be written in bit group wise in the first part of eachcolumn in a column direction.

That is, the block interleaver 124, as illustrated in FIGS. 31 and 32,may write bits included in bit groups (Y₀), (Y₁) . . . (Y₆) from the1^(st) row to the 2520^(th) row constituting the first part of the firstcolumn, write bits included in bit groups (Y₇), (Y₈) . . . (Y₁₃) fromthe first row to the 2520^(th) row, . . . , write bits included in bitgroups (Y₁₄), (Y₁₅), . . . , (Y₂₀) from the first row to the 2520^(th)row, write bits included in bit groups (Y₂₁), (Y₂₂), . . . , (Y₂₇) fromthe first row to the 2520^(th) row constituting the first part of thefourth column, write bits included in bit groups (Y₂₈), (Y₂₉), . . .(Y₃₄) from the first row to the 2520^(th) row constituting the firstpart of the fifth column, and write bits included in bit groups (Y₃₅),(Y₃₆) . . . (Y₄₁) from the 1^(st) row to the 2520^(th) row constitutingthe first part of the sixth column.

As described above, the block interleaver 124 writes bits included inthe bit groups, that can be written in group wise, in the first part ofthe six (6) columns in bit group wise.

Thereafter, the block interleaver 124 may divide bits included inremaining bit groups other than the bit groups written in the first partof the six (6) columns, from among a plurality of groups constitutingthe LDPC codeword, and write the divided bits in the second part of thesix (6) columns in a column direction. In this case, the blockinterleaver 124, in order for a same number of bits can be written inthe second part of each column, may divide the bits included in theremaining bit groups by the number of columns, and write the dividedbits in the second part of the six (6) columns in a column direction.

For example, as illustrated in FIG. 31, the block interleaver 124 maysequentially write, from among a plurality of bit groups constitutingthe LDPC codeword, bit group (Y₄₂), bit group (Y₄₃), and bit group (Y₄₄)which are the remaining groups from the bit groups written in the firstpart in the second part of the six (6) columns. That is, the blockinterleaver 124, from among 360 bits included in bit group (Y₄₂), maywrite 180 bits in a column direction in the second part of the firstcolumn, write remaining 180 bits in a column direction in the secondpart of the second column, write 180 bits from among 360 bits includedin bit group (Y₄₃) in the second part of the third column in a columndirection, write remaining 180 bits in the second part of the fourthcolumn in a column direction, write 180 bits from among 360 bitsincluded in bit group (Y₄₄) in the second part of the fifth column in acolumn direction, and write remaining 180 bits in the second part of thesixth column in a column direction.

Accordingly, the bits included in the bit group which remains after thebits are written in the first part may not be written in a same columnin the second part, but written over a plurality of columns.

Meanwhile, in the aforementioned example, it is described that the blockinterleaver 124 write bits in the column direction, it is merelyexemplary. That is, the block interleaver 124 may write bits in aplurality of columns of the second part in the row direction. In thiscase, however, the block interleaver 124 may write the bits in the firstpart still in the same manner as described above, that is, in the columndirection.

Referring to FIG. 32, the block interleaver 124 may write bits from the1^(st) row of the second part of the first column to the 1^(st) row ofthe second part of the eighth column, write bits from the 2^(nd) row ofthe second part of the first column to the 2^(nd) row of the second partof the sixth column, . . . , and write bits from the 180^(th) row of thesecond part of the first column to the 180^(th) row of the second partof the sixth column.

Accordingly, the bits included in bit group (Y₄₂) can be sequentiallywritten from the 1^(st) row of the second part of the first column tothe 60^(th) row of the second part of the sixth column, the bitsincluded in bit group (Y₄₃) can be sequentially written from the 61^(st)row of the second part of the first column to the 120^(th) row of thesecond part of the sixth column, and the bits included in bit group(Y₄₄) can be sequentially written from the 121^(st) row of the secondpart of the first column to the 180^(th) row of the second part of thesixth column.

Meanwhile, the block interleaver 124 sequentially reads the bits writtenin each part in the row direction. That is, the block interleaver 124,as illustrated in FIGS. 31 and 32, may sequentially read the bitswritten in the first part of the six (6) columns in the row direction,and sequentially read the bits written in the second part of the six (6)columns in the row direction.

As described above, the block interleaver 124 may interleave theplurality of groups of the LDPC codeword in the method described abovewith reference to FIGS. 27 to 32.

The modulator 130 maps the interleaved LDPC codeword onto a modulationsymbol. The modulator 130 may demultiplex the interleaved LDPC codeword,modulate the demultiplexed LDPC codeword, and map the modulated LDPCcodeword onto a constellation.

In this case, the modulator 130 may generate a modulation symbol usingbits included in each of a plurality of bit groups.

In other words, as described above, bits included in different bitgroups may be written in different columns of the block interleaver 124,respectively, and the block interleaver 124 reads the bits written inthe different column in the row direction. In this case, the modulator130 generates a modulation symbol by mapping the bits read from thedifferent columns onto respective bits of the modulation symbol.Accordingly, the bits constituting the modulation symbol belong todifferent bit groups.

For example, it is assumed that the modulation symbol consists of Cnumber of bits. In this case, the bits which are read from each row of Cnumber of columns of the block interleaver 124 may be mapped ontorespective bits of the modulation symbol, and thus, these bits of themodulation symbol, i.e., C number of bits, belong to C number ofdifferent groups.

Hereinbelow, the above feature will be described.

First, the modulator 130 demultiplexes the interleaved LDPC codeword. Toachieve this, the modulator 130 may include a demultiplexer (not shown)to demultiplex the interleaved LDPC codeword.

A demultiplexer (not shown) demultiplexes the interleaved LDPC codeword.The demultiplexer (not shown) performs serial-to-parallel conversionwith respect to the interleaved LDPC codeword, and demultiplexes theinterleaved LDPC codeword into a cell having a predetermined number ofbits (or a data cell).

For example, as shown in FIG. 33, De-Multiplexer 1301 receives an LDPCcodeword Q=(q₀, q₁, q₂, . . . ) output from the interleaver 120, outputsthe received LDPC codeword bits to a plurality of substreams serially,converts the input LDPC codeword bits into cells, and outputs the cells.

In this case, bits having a same index in each of the plurality ofsubstreams may constitute a same cell. Accordingly, the cells may beconfigured like (y_(0,0), y_(1,0), . . . , y_(ηMOD−1,0))=(q₀, q₁,q_(ηMOD−1)), (y_(0,1), y_(1,1), . . . , y_(ηMOD−1,1))=(q_(ηMOD),q_(ηMOD+1), . . . , q_(2×ηMOD−1)),

Here, the number of substreams, N_(substreams), may be equal to thenumber of bits constituting a modulation symbol, r_(ηMOD). Accordingly,the number of bits constituting each cell may be equal to the number ofbits constituting a modulation symbol (that is, a modulation order).

For example, when the modulation method is 64-QAM, the number of bitsconstituting the modulation symbol, r_(ηMOD), is six (6), and thus, thenumber of substreams, N_(substreams), is six (6), and the cells may beconfigured like (y_(0,0), y_(1,0), y_(2,0), y_(3,0), y_(4,0),y_(5,0))=(q₀, q₁, q₂, q₃, q₄, q₅), (y_(0,1), y_(1,1), y_(2,1), y_(3,1),y_(4,1), y_(5,1))=(q₆, q₇, q₈, q₉, q₁₀, q₁₁), (y_(0,2), y_(1,2),y_(2,2), y_(3,2), y_(4,2), y_(5,2), y_(6,2), y_(7,2))=(q₁₂, q₁₃, q₁₄,q₁₅, q₁₆, q₁₇), . . . .

The modulator 130 may map the demultiplexed LDPC codeword ontomodulation symbols.

The modulator 130 may modulate bits (that is, cells) output from thedemultiplexer (not shown) in various modulation methods such as 64-QAM,etc. For example, when the modulation method is QPSK, 16-QAM, 64-QAM,256-QAM, 1024-QAM, and 4096-QAM, the number of bits constituting amodulation symbol, η_(MOD) (that is, the modulation order), may be 2, 4,6, 8, 10 and 12, respectively.

In this case, since each cell output from the demultiplexer (not shown)is formed of as many bits as the number of bits constituting amodulation symbol, the modulator 130 may generate a modulation symbol bymapping each cell output from the demultiplexer (not shown) onto aconstellation point serially. Herein, a modulation symbol corresponds toa constellation point on the constellation.

However, the above-described demultiplexer (not shown) may be omittedaccording to circumstances. In this case, the modulator 130 may generatemodulation symbols by grouping a predetermined number of bits frominterleaved bits serially and mapping the predetermined number of bitsonto a constellation point. In this case, the modulator 130 may generatea modulation symbol by mapping η_(MOD) number of bits onto aconstellation point serially according to a modulation method.

The modulator 130 may modulate by mapping cells output from thedemultiplexer (not shown) onto constellation points in a non-uniformconstellation (NUC) method.

In the non-uniform constellation method, once a constellation point ofthe first quadrant is defined, constellation points in the other threequadrants may be determined as follows. For example, when a set ofconstellation points defined for the first quadrant is X, the setbecomes −conj(X) in the case of the second quadrant, becomes conj(X) inthe case of the third quadrant, and becomes −(X) in the case of thefourth quadrant.

That is, once the first quadrant is defined, the other quadrants may beexpressed as follows:

-   -   1 Quarter (first quadrant)=X    -   2 Quarter (second quadrant)=−conj(X)    -   3 Quarter (third quadrant)=conj(X)    -   4 Quarter (fourth quadrant)=−X

When the non-uniform M-QAM is used, M number of constellation points maybe defined as z={z₀, z₁, . . . , z_(M-1)}. In this case, when theconstellation points existing in the first quadrant are defined as {x₀,x₁, x₂, . . . , X_(M/4-1)}, z may be defined as follows:

-   -   from z₀ to Z_(M/4-1)=from x₀ to x_(M/4)    -   from z_(M/4) to z_(2×M/4-1)=−conj(from x₀ to x_(M/4))    -   from z_(2×M/4) to z_(3×M/4-1)=conj(from x₀ to x_(M/4))    -   from z_(3×M/4) To z_(4×M/4-1)=−(from x₀ to x_(M/4))

Accordingly, the modulator 130 may map bits [y₀, . . . , y_(m-1)] outputfrom the demultiplexer (not shown) onto constellation points in thenon-uniform constellation method by mapping the output bits onto z_(L)having an index of

$L = {\sum\limits_{i = 0}^{m - 1}\; {\left( {y_{1} \times 2^{m - 1}} \right).}}$

An example of constellation which is defined by the above non-uniformconstellation method may be expressed as Table 35 below, when the coderates are 5/15, 7/15, 9/15, 11/15 and 13/15.

TABLE 35 shape x 5/15 7/15 9/15 11/15 13/15 x₀  1.4327 + 0.3305i 0.1567 + 0.3112i  0.1305 + 0.3311i  1.4443 + 0.2683i  1.4319 + 0.2300ix₁  1.0909 + 0.2971i  0.1709 + 0.3037i  0.1633 + 0.3162i  0.7471 +1.2243i  1.0762 + 0.9250i x₂  1.2484 + 0.7803i  0.2093 + 0.6562i 0.1622 + 0.7113i  1.1749 + 0.7734i  0.6290 + 1.1820i x₃  0.9762 +0.5715i  0.3315 + 0.6038i  0.3905 + 0.6163i  0.7138 + 0.8201i  0.6851 +0.8072i x₄  0.3309 + 1.4326i  0.3112 + 0.1567i  0.3311 + 0.1305i 0.1638 + 1.0769i  1.0443 + 0.1688i x₅  0.2979 + 1.0923i  0.3037 +0.1709i  0.3162 + 0.1633i  0.2927 + 1.4217i  1.0635 + 0.5305i x₆ 0.7829 + 1.2477i  0.6562 + 0.2093i  0.7113 + 0.1622i  0.1462 + 0.7457i 0.7220 + 0.1540i x₇  0.5739 + 0.9763i  0.6038 + 0.3315i  0.6163 +0.3905i  0.4134 + 0.7408i  0.7151 + 0.4711i x₈  0.3901 + 0.2112i 0.2959 + 1.4877i  0.2909 + 1.4626i  1.0203 + 0.1517i  0.2099 + 1.4205ix₉  0.5317 + 0.2475i  0.8427 + 1.2612i  0.8285 + 1.2399i  0.6653 +0.1357i  0.1190 + 0.6677i x₁₀  0.3945 + 0.2289i  0.2389 + 1.0228i 0.2062 + 1.0367i  0.9639 + 0.4465i  0.2031 + 1.0551i x₁₁  0.5236 +0.2894i  0.5559 + 0.8912i  0.5872 + 0.8789i  0.6746 + 0.4339i  0.3722 +0.7548i x₁₂  0.2108 + 0.3911i  1.4877 + 0.2959i  1.4626 + 0.2909i 0.1271 + 0.1428i  0.1438 + 0.1287i x₁₃  0.2475 + 0.5327i  1.2612 +0.8427i  1.2399 + 0.8285i  0.3782 + 0.1406i  0.1432 + 0.3903i x₁₄ 0.2287 + 0.3955i  1.0228 + 0.2389i  1.0367 + 0.2062i  0.1311 + 0.4288i 0.4298 + 0.1384i x₁₅  0.2898 + 0.5246i  0.8912 + 0.5559i  0.8789 +0.5872i  0.3919 + 0.4276i  0.4215 + 0.4279i x₁₆ −1.4327 + 0.3305i−0.1567 + 0.3112i −0.1305 + 0.3311i −1.4443 + 0.2683i −1.4319 + 0.2300ix₁₇ −1.0909 + 0.2971i −0.1709 + 0.3037i −0.1633 + 0.3162i −0.7471 +1.2243i −1.0762 + 0.9250i x₁₈ −1.2484 + 0.7803i −0.2093 + 0.6562i−0.1622 + 0.7113i −1.1749 + 0.7734i −0.6290 + 1.1820i x₁₉ −0.9762 +0.5715i −0.3315 + 0.6038i −0.3905 + 0.6163i −0.7138 + 0.8201i −0.6851 +0.8072i x₂₀ −0.3309 + 1.4326i −0.3112 + 0.1567i −0.3311 + 0.1305i−0.1638 + 1.0769i −1.0443 + 0.1688i x₂₁ −0.2979 + 1.0923i −0.3037 +0.1709i −0.3162 + 0.1633i −0.2927 + 1.4217i −1.0635 + 0.5305i x₂₂−0.7829 + 1.2477i −0.6562 + 0.2093i −0.7113 + 0.1622i −0.1462 + 0.7457i−0.7220 + 0.1540i x₂₃ −0.5739 + 0.9763i −0.6038 + 0.3315i −0.6163 +0.3905i −0.4134 + 0.7408i −0.7151 + 0.4711i x₂₄ −0.3901 + 0.2112i−0.2959 + 1.4877i −0.2909 + 1.4626i −1.0203 + 0.1517i −0.2099 + 1.4205ix₂₅ −0.5317 + 0.2475i −0.8427 + 1.2612i −0.8285 + 1.2399i −0.6653 +0.1357i −0.1190 + 0.6677i x₂₆ −0.3945 + 0.2289i −0.2389 + 1.0228i−0.2062 + 1.0367i −0.9639 + 0.4465i −0.2031 + 1.0551i x₂₇ −0.5236 +0.2894i −0.5559 + 0.8912i −0.5872 + 0.8789i −0.6746 + 0.4339i −0.3722 +0.7548i x₂₈ −0.2108 + 0.3911i −1.4877 + 0.2959i −1.4626 + 0.2909i−0.1271 + 0.1428i −0.1438 + 0.1287i x₂₉ −0.2475 + 0.5327i −1.2612 +0.8427i −1.2399 + 0.8285i −0.3782 + 0.1406i −0.1432 + 0.3903i X₃₀−0.2287 + 0.3955i −1.0228 + 0.2389i −1.0367 + 0.2062i −0.1311 + 0.4288i−0.4298 + 0.1384i X₃₁ −0.2898 + 0.5246i −0.8912 + 0.5559i −0.8789 +0.5872i −0.3919 + 0.4276i −0.4215 + 0.4279i X₃₂  1.4327 − 0.3305i 0.1567 − 0.3112i  0.1305 − 0.3311i  1.4443 − 0.2683i  1.4319 − 0.2300iX₃₃  1.0909 − 0.2971i  0.1709 − 0.3037i  0.1633 − 0.3162i  0.7471 −1.2243i  1.0762 − 0.9250i X₃₄  1.2484 − 0.7803i  0.2093 − 0.6562i 0.1622 − 0.7113i  1.1749 − 0.7734i  0.6290 − 1.1820i X₃₅  0.9762 −0.5715i  0.3315 − 0.6038i  0.3905 − 0.6163i  0.7138 − 0.8201i  0.6851 −0.8072i X₃₆  0.3309 − 1.4326i  0.3112 − 0.1567i  0.3311 − 0.1305i 0.1638 − 1.0769i  1.0443 − 0.1688i X₃₇  0.2979 − 1.0923i  0.3037 −0.1709i  0.3162 − 0.1633i  0.2927 − 1.4217i  1.0635 − 0.5305i X₃₈ 0.7829 − 1.2477i  0.6562 − 0.2093i  0.7113 − 0.1622i  0.1462 − 0.7457i 0.7220 − 0.1540i X₃₉  0.5739 − 0.9763i  0.6038 − 0.3315i  0.6163 −0.3905i  0.4134 − 0.7408i  0.7151 − 0.4711i X₄₀  0.3901 − 0.2112i 0.2959 − 1.4877i  0.2909 − 1.4626i  1.0203 − 0.1517i  0.2099 − 1.4205iX₄₁  0.5317 − 0.2475i  0.8427 − 1.2612i  0.8285 − 1.2399i  0.6653 −0.1357i  0.1190 − 0.6677i X₄₂  0.3945 − 0.2289i  0.2389 − 1.0228i 0.2062 − 1.0367i  0.9639 − 0.4465i  0.2031 − 1.0551i X₄₃  0.5236 −0.2894i  0.5559 − 0.8912i  0.5872 − 0.8789i  0.6746 − 0.4339i  0.3722 −0.7548i X₄₄  0.2108 − 0.3911i  1.4877 − 0.2959i  1.4626 − 0.2909i 0.1271 − 0.1428i  0.1438 − 0.1287i X₄₅  0.2475 − 0.5327i  1.2612 −0.8427i  1.2399 − 0.8285i  0.3782 − 0.1406i  0.1432 − 0.3903i X₄₆ 0.2287 − 0.3955i  1.0228 − 0.2389i  1.0367 − 0.2062i  0.1311 − 0.4288i 0.4298 − 0.1384i X₄₇  0.2898 − 0.5246i  0.8912 − 0.5559i  0.8789 −0.5872i  0.3919 − 0.4276i  0.4215 − 0.4279i X₄₈ −1.4327 − 0.3305i−0.1567 − 0.3112i −0.1305 − 0.3311i −1.4443 − 0.2683i −1.4319 − 0.2300iX₄₉ −1.0909 − 0.2971i −0.1709 − 0.3037i −0.1633 − 0.3162i −0.7471 −1.2243i −1.0762 − 0.9250i X₅₀ −1.2484 − 0.7803i −0.2093 − 0.6562i−0.1622 − 0.7113i −1.1749 − 0.7734i −0.6290 − 1.1820i X₅₁ −0.9762 −0.5715i −0.3315 − 0.6038i −0.3905 − 0.6163i −0.7138 − 0.8201i −0.6851 −0.8072i X₅₂ −0.3309 − 1.4326i −0.3112 − 0.1567i −0.3311 − 0.1305i−0.1638 − 1.0769i −1.0443 − 0.1688i X₅₃ −0.2979 − 1.0923i −0.3037 −0.1709i −0.3162 − 0.1633i −0.2927 − 1.4217i −1.0635 − 0.5305i X₅₄−0.7829 − 1.2477i −0.6562 − 0.2093i −0.7113 − 0.1622i −0.1462 − 0.7457i−0.7220 − 0.1540i X₅₅ −0.5739 − 0.9763i −0.6038 − 0.3315i −0.6163 −0.3905i −0.4134 − 0.7408i −0.7151 − 0.4711i X₅₆ −0.3901 − 0.2112i−0.2959 − 1.4877i −0.2909 − 1.4626i −1.0203 − 0.1517i −0.2099 − 1.4205iX₅₇ −0.5317 − 0.2475i −0.8427 − 1.2612i −0.8285 − 1.2399i −0.6653 −0.1357i −0.1190 − 0.6677i X₅₈ −0.3945 − 0.2289i −0.2389 − 1.0228i−0.2062 − 1.0367i −0.9639 − 0.4465i −0.2031 − 1.0551i X₅₉ −0.5236 −0.2894i −0.5559 − 0.8912i −0.5872 − 0.8789i −0.6746 − 0.4339i −0.3722 −0.7548i X₆₀ −0.2108 − 0.3911i −1.4877 − 0.2959i −1.4626 − 0.2909i−0.1271 − 0.1428i −0.1438 − 0.1287i X₆₁ −0.2475 − 0.5327i −1.2612 −0.8427i −1.2399 − 0.8285i −0.3782 − 0.1406i −0.1432 − 0.3903i X₆₂−0.2287 − 0.3955i −1.0228 − 0.2389i −1.0367 − 0.2062i −0.1311 − 0.4288i−0.4298 − 0.1384i X₆₃ −0.2898 − 0.5246i −0.8912 − 0.5559i −0.8789 −0.5872i −0.3919 − 0.4276i −0.4215 − 0.4279i

The interleaving is performed in the above-described method for thefollowing reasons.

When LDPC codeword bits are mapped onto modulation symbols, the bits mayhave different reliabilities (that is, receiving performance orreceiving probability) according to where the bits are mapped onto inthe modulation symbols. The LDPC codeword bits may have differentcodeword characteristics according to the configuration of a paritycheck matrix. That is, the LDPC codeword bits may have differentcodeword characteristics according to the number of 1 existing in thecolumn of the parity check matrix, that is, the column degree.

Accordingly, the interleaver 120 may interleave to map LDPC codewordbits having specific codeword characteristics onto specific bits in amodulation symbol by considering both the codeword characteristics ofthe LDPC codeword bits and the reliability of the bits constituting themodulation symbol.

For example, when the LDPC codeword formed of bit groups X₀ to X₄₄ isgroup-interleaved based on Equation 21 and Table 19, the groupinterleaver 122 may output the bit groups in the order of X₉, X₇, X₁₅, .. . , X₃₅, X₃₇.

In this case, the number of columns of the block interleaver 124 issix(6) and the number of rows in the first part is 2520 and the numberof rows in the second part is 180.

Accordingly, from among the 45 groups constituting the LDPC codewordseven (7) bit groups (X₉, X₇, X₁₅, X₁₀, X₁₁, X₁₂, X₁₃) may be input tothe first part of the first column of the block interleaver 124, seven(7) bit groups (X₆, X₂₁, X₁₇, X₁₄, X₂₀, X₂₆, X₈) may be input to thefirst part of the second column of the block interleaver 124, seven (7)bit groups (X₂₅, X₃₂, X₃₄, X₂₃, X₂, X₄, X₃₁) may be input to the firstpart of the third column of the block interleaver 124, seven (7) bitgroups (X₁₈, X₅, X₂₇, X₂₉, X₃, X₃₈, X₃₆) may be input to the first partof the fourth column of the block interleaver 124, seven (7) bit groups(X₃₉, X₄₃, X₄₁, X₄₂, X₄₀, X₄₄, X₁) may be input to the first part of thefifth column of the block interleaver 124, seven (7) bit groups (X₂₈,X₃₃, X₂₂, X₁₆, X₁₉, X₂₄, X₀) may be input to the first part of the sixthcolumn of the block interleaver 124.

In addition, the bit groups X₃₀, X₃₅, and X₃₇ are input to the secondpart of the block interleaver 124. To be specific, bits constituting thebit group X₃₀ are input to the second part of the second column afterbeing input to the second part of the first column, bits constitutingthe bit group X₃₅ are input to the second part of the fourth columnafter being input to the second part of the third column, and the bitsconstituting the bit group X₃₇ are input to the second part of the sixthcolumn after being input to the second part of the fifth column.

The block interleaver 124 may sequentially output the bits from thefirst row to the last row, and the bits output from the blockinterleaver 124 may be sequentially input to the modulator 130. In thiscase, the demultiplexer (not shown) may be omitted, or the demultiplexer(not shown) may be sequentially output without changing an order of theinput bits. Accordingly, the bits included in each of the bit groups X₉,X₆, X₂₅, X₁₈, X₃₉, and X₂₈ may constitute a modulation symbol.

As another example, when the LDPC codeword constituting of bit groups X₀to X₄₄ is group-interleaved based on Equation 21 and Table 25, the groupinterleaver 122 may output bit groups X₂₅, X₄₄, X₈, . . . , X₂₃, X₁₄ inorder.

In this case, the number of columns constituting the block interleaver124 is six (6), the number of rows of the first part is 2520, and thenumber of rows of the second part is 180.

Accordingly, from among 45 bit groups constituting the LDPC codeword,seven (7) bit groups (X₂₅, X₄₄, X₈, X₃₉, X₃₇, X₂, X₁₁) are input to thefirst part of the first column of the block interleaver 124, seven (7)bit groups (X₇, X₀, X₁₂, X₄, X₃₁, X₃₃, X₃₈) are input to the first partof the second column of the block interleaver 124, seven (7) bit groups(X₄₃, X₂₁, X₂₆, X₁₃, X₂₈, X₂₉, X₁) are input to the first part of thethird column of the block interleaver 124, seven (7) bit groups (X₂₇,X₁₈, X₁₇, X₃₄, X₃, X₄₂, X₁₀) are input to the first part of the fourthcolumn of the block interleaver 124, seven (7)bit groups (X₁₉, X₂₀, X₃₂,X₃₆, X₄₀, X₉, X₄₁) are input to the first part of the fifth column ofthe block interleaver 124, and seven (7) bit groups (X₅, X₃₅, X₃₀, X₂₂,X₁₅, X₁₆, X₆) are input to the first part of the sixth column of theblock interleaver 124.

In addition, bit groups X₂₄, X₂₃, and X₁₄ are input to the second partof the block interleaver 124. The bits constituting the bit group X₂₄are input to the second part of the second column after being input tothe second part of the first column, the bits constituting the bit groupX₂₃ are input to the second part of the fourth column after being inputto the second part of the third column, and the bits constituting thebit group X₁₄ are input to the second part of the sixth column afterbeing input to the second part of the fifth column.

In addition, the block interleaver 124 may output the bits inputted tothe 1^(st) row to the last row of each column serially, and the bitsoutputted from the block interleaver 124 may be input to the modulator130 serially. In this case, the demultiplexer (not shown) may be omittedor the bits may be outputted serially without changing the order of bitsinputted to the demultiplexer (not shown). Accordingly, the bitsincluded in each of the bit groups X₂₅, X₇, X₄₃, X₂₇, X₁₉, and X₅ mayconstitute a modulation symbol.

As still another example, when group interleaving is performed for theLDPC codeword constituting bit groups X₀ to X₄₄ based on Equation 21 andTable 28, the group interleaver 122 may output the bit groups in theorder of X₃₁, X₂₀, X₂₁, . . . , X₃₂, and X₄₃.

In this case, the number of columns constituting the block interleaver124 is six (6), the number of rows of the first part is 2520, and thenumber of rows in the second part is 180.

Accordingly, from among 45 bit groups constituting the LDPC codeword,seven (7) bit groups (X₃₁, X₂₀, X₂₁, X₂₅, X₄, X₁₆, X₉) may be input tothe first part of the first column of the block interleaver 124, seven(7) bit groups (X₃, X₁₇, X₂₄, X₅, X₁₀, X₁₂, X₂₈) may be input to thefirst part of the second column of the block interleaver 124, seven (7)bit groups (X₆, X₁₉, X₈, X₁₅, X₁₃, X₁₁, X₂₉) may be input to the firstpart of the third column, seven (7) bit groups (X₂₂, X₂₇, X₁₄, X₂₃, X₃₄,X₂₆, X₁₈) may be input to the first part of the fourth column of theblock interleaver 124, seven (7) bit groups (X₄₂, X₂, X₃₇, X₄₄, X₃₉,X₃₃, X₃₅) may be input to the first part of the fifth column of theblock interleaver 124, and seven (7) bit groups (X₄₁, X_(o), X₃₆, X₇,X₄₀, X₃₈, X₁) may be input to the first part of the sixth column of theblock interleaver 124.

In addition, bit groups X₃₀, X₃₂, and X₄₃ are input to the second partof the block interleaver 124. The bits constituting the group X₃₀ areinput to the second part of the second column after being input to thesecond part of the first column, the bits constituting bit group X₃₂ areinput to the second part of the fourth column after being input to thesecond part of the third column, and the bits constituting bit group X₄₃are input to the second part of the sixth column after being input tothe second part of the fifth column.

In addition, the block interleaver 124 may sequentially output the bitsfrom the first row to the last row, and the bits output from the blockinterleaver 124 may be sequentially input to the modulator 130. In thiscase, the demultiplexer (not shown) may be omitted, or the demultiplexer(not shown) may be output sequentially without changing an order of theinput bits. Accordingly, the bits included in each of the bit groupsX₃₁, X₃, X₆, X₂₂, X₄₂, and X₄₁ may constitute a modulation symbol.

As described above, since a specific bit is mapped onto a specific bitin a modulation symbol through interleaving, a receiver side can achievehigh receiving performance and high decoding performance.

Hereinafter, a method for determining π(j), which is a parameter usedfor group interleaving, according to various exemplary embodiments, willbe explained. The criteria which needs to be considered is as shownbelow:

Criteria 1) Determine different interleaving orders based on amodulation method and a code rate.

Criteria 2) Consider functional features of each bit group of an LDPCcodeword and functional features of bits constituting a modulationsymbol at the same time.

For example, in an LDPC codeword, performance characteristics vary ingroup wise by the degree of variable node corresponding to bitsconstituting of each group, that is, the number of edges connected tothe variable node, and characteristics of graphs connected to thevariable node. In general, the greater is the degree of the variablenode, the better is the performance.

Meanwhile, bits constituting a modulation symbol may have differentperformance characteristics. For example, when using non-uniform 64-QAM(hereinafter, 64-NUQ) constellation as illustrated in Table 35, withrespect to six (6) bits y₀, y₁, y₂, y₃, y₄, y₅ constituting a 64-NUQsymbol, signal reception performance of each bit (P(yi)) is representedby P(y₀)≥P(y₁)≥P(y₂)≥P(y₃)≥P(y₄)>P(y₅).

Therefore, when using an LDPC code of which a length is 16200, and64-NUQ, the characteristics of the LDPC code and a modulation methodneed to be considered, and to which bit, from among six (6) bitsconstituting a 64-NUQ symbol, each bit group of 45 bit groups is mappedneeds to be selected.

In this case, the first column of the block interleaver 124 correspondsto y₀ having the highest performance from among six (6) bitsconstituting the 64-NUQ symbol, the second column corresponds to y₁, thethird column corresponds to y₂, 4^(th) column corresponds to y₃, 5^(th)column corresponds to y₄, and 6^(th) column corresponds to y₅ having theworst performance.

Here, 45 is not a multiple number of six (6), and thus, three (3) bitgroups (45-42) corresponding to the second part of the block interleaver124 may be mapped onto two or more bits from among six (6) bitsconstituting a 64-NUQ symbol. For example, when one bit group of an LDPCcodeword is written in the first column and the second column of thesecond part, and this bit group may be mapped on y₀ and y₁.

Accordingly, when an LDPC codeword of which a length is 16200 and 64-NUQare used, from among six (6) bits constituting a 64-NUQ symbol, seven(7) bit groups to be mapped onto y₀ need to be selected, seven (7) bitgroups to be mapped onto y₁ need to be selected, seven (7) bit groups tobe mapped onto y₂ need to be selected, seven (7) bit groups to be mappedonto y₃ need to be selected, seven (7) bit groups to be mapped onto y₄need to be selected, seven (7) bit groups to be mapped onto y5 need tobe selected, one (1) bit group to be mapped onto y0 and y1 needs to beselected, one (1) bit group to be mapped onto y2 and y3 needs to beselected, and one (1) bit group to be mapped onto y4 and y5 needs to beselected.

Meanwhile, in order to predict decoding performance in reference to anLDPC code and a modulation method, a density evolution method can beused. The density evolution method is performed by receiving aprobability density function (PDF) with respect to a log-likelihoodratio (LLR) for each bit group of an LDPC codeword and calculating aminimum signal-to-noise ratio (SNR) which satisfies quasi error free(QEF). Here, the SNR is called a noise threshold.

The 64-NUQ is formed of six (6) bit levels. Here, a PDF of an LLR valuewhich corresponds to each bit level is g₀(x), g₁(x), g₂(x), g₃(x),g₄(x), g₅(x). That is, when i is an integer between 0 and 5, from amongsix (6) bits constituting a 64-NUQ symbol, the PDF with respect to theLLR value of the channel output value corresponding to y, is g₁(x).

Meanwhile, from among 45 bit groups constituting an LDPC codeword ofwhich a length is 16200, the PDF of a channel LLR with respect to seven(7) bit groups corresponding to the first part is f₁(x), the PDF of thechannel LLR with respect to seven (7) bit groups corresponding to thesecond part is f₂(x), the PDF of the channel LLR with respect to seven(7) bit groups corresponding to the third part is f₃(x), The PDF of thechannel LLR with respect to seven (7) bit groups corresponding to thefourth part is f₄(x), the PDF of the channel LLR with respect to seven(7) bit groups corresponding to the fifth part is f₅(x), the PDF of thechannel LLR with respect to seven (7) bit groups corresponding to thesixth part is f₆(x). In addition, the PDF of the channel LLR withrespect to one (1) bit group corresponding to the first and secondcolumns of the first part is f₁(x), The PDF of the channel LLR withrespect to one (1) bit group corresponding to the first and secondcolumns of the second part is f₇(x), the PDF of the channel LLR withrespect to one (1) bit group corresponding to the third and fourthcolumns of the second part is f₈(x), the PDF of the channel LLR withrespect to one (1) bit group corresponding to the fifth and sixthcolumns of the second part is f₉(x). In this case, the relation formulaas Equation 22 shown below can be conceived.

f ₁(x)=g ₀(x),f ₂(x)=g ₁(x),f ₃(x)=g ₂(x),f ₄(x)=g ₃(x),f ₅(x)=g ₄(x),f₆(x)=g ₅(x)

f ₇(x)=g ₀(x)=g ₁(x))/2,f ₈(x)=(g ₂(x)+g ₃(x))/2,f ₉(x)=(g ₄(x)+g₅(x)/2  [Equation 22]

In various exemplary embodiments, in a process of designing a groupinterleaver by determining π(j) which is a parameter used for groupinterleaving, the first step is a process to select one from among f₁(x)to f₉(x) as each of PDFs of LLR values of 45 bit groups constituting anLDPC codeword of which length is 16200.

At step 1-1 of the first step of a group interleaver design, PDFs of LLRvalues of all bit groups are not selected. Therefore, when using thedensity evolution method, the PDFs with respect to the LLR values of theall bit groups use f_(remain)(x) value according to Equation 23. This isa weighted average of PDFs which are not yet selected.

f _(remain)(x)=(7×f ₁(x)+7×f ₂(x)+7×f ₃(x)+7×f ₄(x)+7×f ₅(x)+7×f ₆(x)+f₇(x)+f ₈(x)+f ₉(x))/45  [Equation 23]

At step 1-2 of the first step of the group interleaver design, a PDF ofan LLR value of each bit group is selected from among f₁(x) to f₉(x).There are a total of 45 bit groups, and a total of nine (9) PDFs can beselected for respective of bit groups. For example, it can be assumedthat f₁(x) is selected as a PDF of the first bit group, and PDFs of theremaining bit groups are not selected. In this case, for PDFs of theremaining bit groups, f_(remain)(x) is used as Equation 24 shown below.This is a weighted average value of PDFs which are not yet selected.

f _(remain)(x)=(6×f ₁(x)+7×f ₂(x)+7×f ₃(x)+7×f ₄(x)+7×f ₅(x)+7×f ₆(x)+f₇(x)+f ₈(x)+f ₉(x))/44  [Equation 24]

At the above step, in order for f₁(x) to be selected as the PDF of thefirst bit group, one of cases in which an average value of a noisethreshold with respect to an additive white Gaussian noise (AWGN)channel and a noise threshold with respect to a Rayleigh channel is theleast may be selected arbitrarily, according to an exemplary embodiment.

At step 1-3 of the first step of the group interleaver design, a nextbit group for which a PDF is selected, and also, the PDF is selected forthis bit group, based on the step 1-2. For example, if it is assumedthat, at the 1-2 step, f₁(x) is selected as the PDF of the first bitgroup since the average value of the noise threshold is the least inthis case, f₆(x) is selected as a PDF of the second bit group. In thiscase, PDFs of the remaining bit groups uses f_(remain)(x) as Equation 25shown below. This is a weighted average PDFs which are not yet selected.

f _(remain)(x)=(6×f ₁(x)+7×f ₂(x)+7×f ₃(x)+7×f ₄(x)+7×f ₅(x)+6×f ₆(x)+f₇(x)+f ₈(x)+f ₉(x))/43  [Equation 25]

After performing through step 1-46 of the first step of the groupinterleaver design in the same manner as above, one PDF from among f₁(x)to f₉(x) is selected or allocated to each of 45 bit groups. That is,when the first step of the group interleaver design is completed, PDFsof LLR values of the respective of 45 bit groups are selected from f₁(x)to f₉(x).

The second step of the group interleaver design is to generate aplurality of π(j)s which satisfy the conditions determined at the firststep, observe actual bit error rate (BER) and frame error rate (FER)performances for a predetermined SNR value, and select π(j) having thebest performance. As such, the reason why the step of measuring actualperformances is used in addition to the density evolution is that thedensity evolution may not estimate a correct performance of the LDPCcode which has a limited length because the density evolution calculatesa theoretical noise threshold under an assumption that a length of theLDPC codeword is unlimited.

According to the above-described method, π(j) of Tables 15-31 used forgroup interleaving can be determined.

Hereinbelow, step 2 of the group interleaver design will be described ingreater detail.

Meanwhile, as described above, in that each of bit groups constitutingthe LDPC codeword correspond to each column group of the parity checkmatrix, a degree of each column group has an effect on decodingperformance of the LDPC codeword.

For example, that a degree of column groups is relatively high indicatesthat there are relatively larger number of parity check equations whichare related to bit groups corresponding to column groups, the bit groupswhich correspond to column groups having a relatively high degree withina parity check matrix formed of a plurality of column groups may have agreater effect on decoding performance of the LDPC codeword rather thanbit groups which correspond to column groups having a relatively lowdegree. In other words, if column groups having a relatively high degreeare not mapped appropriately, the performance of the LDPC codeword willbe substantially degraded.

Therefore, the group interleaver may be designed such that a bitgroup(s) having the highest degree, from among the bit groupsconstituting the LDPC codeword, is interleaved according to the π(j) andmapped to a specific bit of the modulation symbol (or transmissionsymbol), and the other bit groups not having the highest degree israndomly mapped to the modulation symbol. Under this condition, byobserving actual BER/FER performance, the case where the performance ofthe LDPC codeword is substantially degraded may be avoided.

Hereinbelow, a case where the encoder 110 performs LDPC encoding byusing the code rate 5/15 to generate an LDPC codeword having the lengthof 16200, and constitutes a modulation symbol by using 64-NUQ will bedescribed in a greater detail.

In this case, the encoder 110 may perform LDPC encoding based on theparity check matrix comprising the information word submatrix defined byTable 14 and the parity submatrix having a diagonal configuration.

Accordingly, the parity check matrix is formed of 45 column groups, andfrom among the 45 column groups, 10 column groups have the degree of 10,7 column groups have the degree of 9, 28 column groups have the degreeof 1.

Therefore, with respect to only 10 column groups of which the degree is10, from among the 45 column groups, several π(j) for the 10 columngroups may be generated to satisfy a predetermined condition in thefirst step of the group interleaver design, and π(j) for the othercolumn groups may be remain as a blank. The bit groups which correspondto the other column groups may be set to be mapped randomly onto bitsconstituting a modulation symbol. Then, π(j) for 10 column groups havingthe most excellent performance is selected by observing actual BER/FERperformance regarding a specific SNR value. By fixing a part of π(j),i.e. π(j) for 10 column groups selected as described above, substantialdegradation of the performance of the LDPC codeword may be avoided.

TABLE 36 Order of group to be block interleaved π(j) (0 ≤ j < 45) j-thblock of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 8 11 7 12 13 Group-wise 10 9 56 14 interleaver input

Meanwhile, Table 36 may be presented as below Table 36-1.

TABLE 36-1 Order of group to be block interleaved π(j) (0 ≤ j < 45) j-thblock of 2 6 7 9 17 27 33 35 41 44 Group-wise interleaver output π(j)-thblock of 8 11 7 12 13 10 9 5 6 14 Group-wise interleaver input

In case of Table 36, Equation 21 may be expressed as Y₂=X_(π(2))=X₈,Y₆=X_(π(6))=X₁₁, Y₇=X_(π(7))=X₇, Y₉=X_(π(9))=X₁₂, Y₁₇=X_(π(17))=X₁₃,Y₂₇=X_(π(27))=X₁₀, Y₃₃=X_(π(33))=X₉, Y₃₅=X_(π(35))=X₅, Y₄₁=X_(π(41))=X₆,Y₄₄=X_(π(44))=X₁₄.

That is, the group interleaver 122 may rearrange the order of theplurality of bit groups by changing the 8^(th) bit group to the 2^(nd)bit group, the 11^(th) bit group to the 6^(th) bit group, the 7^(th) bitgroup to the 7^(th) bit group, the 12^(th) bit group to the 9^(th) bitgroup, the 13^(th) bit group to the 17^(th) bit group, the 10^(th) bitgroup to the 27^(th) bit group, the 9^(th) bit group to the 33^(rd) bitgroup, the 5^(th) bit group to the 35^(th) bit group, the 6^(th) bitgroup to the 41^(st) bit group, and the 14^(th) bit group to the 44^(th)bit group, and by rearranging randomly the other bit groups.

In a case where some bit groups are already fixed, the aforementionedfeature is applied in the same manner. In other words, bit groups whichcorrespond to column groups having a relatively high degree from amongthe other bit groups which are not fixed may have a greater effect ondecoding performance of the LDPC codeword than bit groups whichcorrespond to column groups having a relatively low degree. That is,even in the case where degradation of the performance of the LDPCcodeword is prevented by fixing the bit groups having the highestdegree, the performance of the LDPC codeword may vary according to amethod of mapping the other bit groups. Accordingly, a method of mappingbit groups having the next highest degree needs to be selectedappropriately, to avoid the case where the performance is relativelypoor.

Therefore, in a case where bit groups having the highest degree arealready fixed, bit groups having the next highest degree, from among thebit groups constituting the LDPC codeword, may be interleaved accordingto the π(j) and mapped to a specific bit of a modulation symbol, and theother bit groups may be randomly mapped. Under this condition, byobserving actual BER/FER performance, the case where the performance ofthe LDPC codeword is substantially degraded may be avoided.

Hereinbelow, a case where the encoder 110 performs LDPC encoding byusing the code rate 5/15 to generate an LDPC codeword having the lengthof 16200, and constitutes a modulation symbol by using 64-NUQ will bedescribed in a greater detail.

In this case, the encoder 110 may perform LDPC encoding based on theparity check matrix comprising the information word submatrix defined byTable 14 and the parity submatrix having a diagonal configuration.

Accordingly, the parity check matrix is formed of 45 column groups, andfrom among the 45 column groups, 10 column groups have the degree of 10,7 column groups have the degree of 9, and 28 column groups have thedegree of 1.

Therefore, a case where 10 column groups of which the degree is 10 arealready fixed as in Table 36, so that, with respect to only 7 columngroups of which the degree is 9, from among the other 35 column groups,several π(j) for the 7 column groups may be generated to satisfy apredetermined condition in the first step of a group interleaver design,and π(j) for the other column groups may be remain as a blank. The bitgroups which correspond to the other column groups may be set to bemapped randomly onto bits constituting a modulation symbol. Then, π(j)for 7 column groups having the most excellent performance is selected byobserving actual BER/FER performance regarding a specific SNR value. Byfixing a part of π(j), i.e. π(j) for 7 column groups selected asdescribed above, substantial degradation of the performance of the LDPCcodeword may be avoided.

TABLE 37 Order of group to be block interleaved π(j) (0 ≤ j < 45) j-thblock of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 8 11 7 12 13 Group-wise 10 9 56 14 interleaver input

TABLE 38 Order of group to be block interleaved π(j) (0 ≤ j < 45) j-thblock of 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22Group-wise 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 4243 44 interleaver output π(j)-th block of 8 2 11 7 0 12 4 13 1Group-wise 3 10 9 5 15 16 6 14 interleaver input

Meanwhile, Table 38 may be presented as below Table 38-1.

TABLE 38-1 Order of group to be block interleaved π(j) (0 ≤ j < 45) j-thblock of 2 5 6 7 8 9 10 17 20 25 27 33 35 39 40 41 44 Group-wiseinterleaver output π(j)-th block of 8 2 11 7 0 12 4 13 1 3 10 9 5 15 166 14 Group-wise interleaver input

In case of Table 38, Equation 21 may be expressed as Y₂=X_(π(2))=X₈,Y₅=X_(π(5))=X₂, Y₆=X_(π(6))=X₁₁, . . . , Y₄₀=X_(π(40))=X₁₆,Y₄₁=X_(π(41))=X₆, Y₄₄=X_(π(44))=X₁₄.

That is, the group interleaver 122 may rearrange the order of theplurality of bit groups by changing the 8^(th) bit group to the 2^(nd)bit group, the 2^(nd) bit group to the 5^(th) bit group, the 11^(th) bitgroup to the 6^(th) bit group, . . . , the 16^(th) bit group to the40^(th) bit group, the 6^(th) bit group to the 41^(st) bit group, andthe 14^(th) bit group to the 44^(th) bit group, and by rearrangingrandomly the other bit groups.

In the exemplary embodiments described above, the case of performingLDPC encoding based on the coding rate of 5/15 and the parity checkmatrix formed of the information word submatrix defined by Table 14 andthe parity submatrix having a diagonal configuration is described, butthis is merely exemplary, and even in a case of performing LDPC encodingbased on different code rates and different parity check matrix, π(j)can be determined based on the aforementioned method.

The transmitting apparatus 100 illustrated in FIG. 19 may transmit asignal mapped onto a constellation to a receiving apparatus (forexample, 1200 of FIG. 34). For example, the transmitting apparatus 100may map the signal mapped onto the constellation onto an OrthogonalFrequency Division Multiplexing (OFDM) frame, and transmit the signal tothe receiving apparatus 1200 through an allocated channel.

FIG. 34 is a block diagram to illustrate a configuration of a receivingapparatus according to an exemplary embodiment. Referring to FIG. 34,the receiving apparatus 1200 includes a demodulator 1210, a multiplexer1220, a deinterleaver 1230 and a decoder 1240.

The demodulator 1210 receives and demodulates a signal transmitted fromthe transmitting apparatus 100. The demodulator 1210 generates a valuecorresponding to an LDPC codeword by demodulating the received signal,and outputs the value to the multiplexer 1220. In this case, thedemodulator 1210 may use a demodulation method corresponding to amodulation method used in the transmitting apparatus 100. To do so, thetransmitting apparatus 100 may transmit information regarding themodulation method to the receiving apparatus 1200, or the transmittingapparatus 100 may perform modulation using a pre-defined modulationmethod between the transmitting apparatus 100 and the receivingapparatus 1200.

The value corresponding to the LDPC codeword may be expressed as achannel value for the received signal. There are various methods fordetermining the channel value, and for example, a method for determininga Log Likelihood Ratio (LLR) value may be the method for determining thechannel value.

The LLR value is a log value for a ratio of a probability that a bittransmitted from the transmitting apparatus 100 is 0 and a probabilitythat the bit is 1. In addition, the LLR value may be a bit value whichis determined by a hard decision, or may be a representative value whichis determined according to a section to which the probability that thebit transmitted from the transmitting apparatus 100 is 0 or 1 belongs.

The multiplexer 1220 multiplexes am output value of the demodulator 1210and outputs the value to the deinterleaver 1230.

The multiplexer 1220 is an element corresponding to a De-Multiplexer1301 of FIG. 33 provided in the transmitting apparatus 100, and performsan operation corresponding to the demultiplexer. That is, themultiplexer 1220 performs an inverse operation of an operation of thedemultiplexer, and performs cell-to-bit conversion with respect to theoutput value of the demodulator 1210 and outputs the LLR value in a unitof a bit. However, when the demultiplexer is omitted from thetransmitting apparatus 100, the multiplexer 1220 may be omitted from thereceiving apparatus 1200.

The information regarding whether the demultiplexing operation wasperformed or not may be provided by the transmitting apparatus 100, ormay be pre-defined between the transmitting apparatus 100 and thereceiving apparatus 1200.

The deinterleaver 1230 deinterleaves an output value of the multiplexer1220 and outputs the values to the decoder 1240.

The deinterleaver 1230 is an element corresponding to the interleaver120 of the transmitting apparatus 100, and performs an operationcorresponding to the interleaver 120. That is, the deinterleaver 1230deinterleaves an LLR value by performing an interleaving operation ofthe interleaver 120 inversely.

To do so, the deinterleaver 1530 may include a block deinterleaver 1231,a group twist deinterleaver 1232, a group deinterleaver 1233, and aparity deinterleaver 1234 as shown in FIG. 35.

The block deinterleaver 1231 deinterleaves the output value of themultiplexer 1220 and outputs the value to the group twist deinterleaver1232.

The block deinterleaver 1231 is an element corresponding to the blockinterleaver 124 provided in the transmitting apparatus 100 and performsan interleaving operation of the block interleaver 124 inversely.

That is, the block deinterleaver 1231 deinterleaves by writing the LLRvalue output from the multiplexer 1220 in each row in the row directionand reading each column of the plurality of rows in which the LLR valueis written in the column direction by using at least one row formed ofthe plurality of columns.

In this case, when the block interleaver 124 interleaves by dividingeach column into two parts, the block deinterleaver 1231 maydeinterleave by dividing each row into two parts.

In addition, when the block interleaver 124 writes and reads in and fromthe bit group that does not belong to the first part in the rowdirection, the block deinterleaver 1231 may deinterleave by writing andreading values corresponding to the bit group that does not belong tothe first part in the row direction.

Hereinafter, the block deinterleaver 1231 will be explained withreference to FIG. 36. However, this is merely an example and the blockdeinterleaver 1531 may be implemented in other methods.

An input LLR v_(i) (0≤i<N_(ldpc)) is written in r₁ row and c_(i) columnof the block deinterleaver 1231. Herein, c_(i)=(i mod N_(c)) and

${r_{i} = \left\lfloor \frac{i}{N_{c}} \right\rfloor},$

On the other hand, an output LLR q_(i)(0≤i<N_(c)×N_(r1)) is read fromc_(i) column and r_(i) row of the first part of the block deinterleaver1231. Herein,

${c_{i} = \left\lfloor \frac{i}{N_{r\; 1}} \right\rfloor},$

r_(i)=(i mod N_(r1)).

In addition, an output LLR q_(i)(N_(c)×N_(r1)≤i<N_(ldpc)) is read fromc_(i) column and r_(i) row of the second part. Herein,

${c_{i} = \left\lfloor \frac{\left( {i - {N_{c} \times N_{r\; 1}}} \right)}{N_{r\; 2}} \right\rfloor},$

r_(i)=N_(r1)+{(i−N_(c)×N_(r1)) mode N_(r2)}.

The group twist deinterleaver 1232 deinterleaves an output value of theblock deinterleaver 1231 and outputs the value to the groupdeinterleaver 1233.

The group twist deinterleaver 1232 is an element corresponding to thegroup twist interleaver 123 provided in the transmitting apparatus 100,and may perform an interleaving operation of the group twist interleaver123 inversely.

That is, the group twist deinterleaver 1232 may rearrange LLR values ofa same bit group by changing the order of the LLR values existing in thesame bit group. When the group twist operation is not performed in thetransmitting apparatus 100, the group twist deinterleaver 1232 may beomitted.

The group deinterleaver 1233 (or the group-wise deinterleaver)deinterleaves an output value of the group twist deinterleaver 1232 andoutputs the value to the parity deinterleaver 1234.

The group deinterleaver 1233 is an element corresponding to the groupinterleaver 122 provided in the transmitting apparatus 100 and mayperform an interleaving operation of the group interleaver 122inversely.

That is, the group deinterleaver 1233 may rearrange the order of theplurality of bit groups in bit group wise. In this case, the groupdeinterleaver 1233 may rearrange the order of the plurality of bitgroups in bit group wise by applying the interleaving method of Tables15 to 31 inversely according to a length of the LDPC codeword, amodulation method and a code rate.

The parity deinterleaver 1234 performs parity deinterleaving withrespect to an output value of the group deinterleaver 1233 and outputsthe value to the decoder 1240.

The parity deinterleaver 1234 is an element corresponding to the parityinterleaver 121 provided in the transmitting apparatus 100 and mayperform an interleaving operation of the parity interleaver 121inversely. That is, the parity deinterleaver 1234 may deinterleave LLRvalues corresponding to parity bits from among the LLR values outputfrom the group deinterleaver 1233. In this case, the paritydeinterleaver 1234 may deinterleave the LLR values corresponding to theparity bits inversely to the parity interleaving method of Equation 18.

However, the parity deinterleaver 1234 may be omitted depending on adecoding method and embodiment of the decoder 1240.

Although the deinterleaver 1230 of FIG. 34 includes three (3) or four(4) elements as shown in FIG. 35, operations of the elements may beperformed by a single element. For example, when bits each of whichbelongs to each of bit groups X_(a), X_(b), X_(c), X_(d), X_(e), X_(f)constitute a single modulation symbol, the deinterleaver 1230 maydeinterleave these bits to locations corresponding to their bit groupsbased on a received single modulation symbol.

For example, when the code rate is 13/15 and the modulation method is64-QAM, the group deinterleaver 1233 may perform deinterleaving based onTable 19.

In this case, bits each of which belongs to each of bit groups X₉, X₆,X₂₅, X₁₈, X₃₉, X₂₈ may constitute a single modulation symbol. Since onebit in each of the bit groups X₉, X₆, X₂₅, X₁₈, X₃₉, X₂₈ constitutes asingle modulation symbol, the deinterleaver 1230 may map bits ontodecoding initial values corresponding to the bit groups X₉, X₆, X₂₅,X₁₈, X₃₉, X₂₈ based on the received single modulation symbol.

The decoder 1240 may perform LDPC decoding by using an output value ofthe deinterleaver 1230. To achieve this, the decoder 1240 may include anLDPC decoder (not shown) to perform LDPC decoding.

The decoder 1240 is an element corresponding to the encoder 110 of thetransmitting apparatus 100 and may correct an error by performing theLDPC decoding by using LLR values output from the deinterleaver 1230.

For example, the decoder 1240 may perform the LDPC decoding in aniterative decoding method based on a sum-product algorithm. Thesum-product algorithm is one example of a message passing algorithm, andthe message passing algorithm refers to an algorithm which exchangesmessages (e.g., LLR values) through an edge on a bipartite graph,calculates an output message from messages input to variable nodes orcheck nodes, and updates.

The decoder 1240 may use a parity check matrix when performing the LDPCdecoding. In this case, a parity check matrix used in the decoding mayhave the same configuration as that of a parity check matrix used inencoding at the encoder 110, and this has been described above withreference to FIGS. 20 to 22.

In addition, information on the parity check matrix and information onthe code rate, etc. which are used in the LDPC encoding may bepre-stored in the receiving apparatus 1200 or may be provided by thetransmitting apparatus 100.

FIG. 37 is a flowchart to illustrate an interleaving method of atransmitting apparatus according to an exemplary embodiment.

First, an LDPC codeword is generated by LDPC encoding based on a paritycheck matrix (S1410), and the LDPC codeword is interleaved (S1420).

Then, the interleaved LDPC codeword is mapped onto a modulation symbol(S1430). In this case, a bit included in a predetermined bit group fromamong a plurality of bit groups constituting the LDPC codeword may bemapped onto a predetermined bit in the modulation symbol.

In this case, each of the plurality of bit groups may be formed of Mnumber of bits, and M may be a common divisor of N_(ldpc) and K_(ldpc)and may be determined to satisfy Q_(ldpc)=(N_(ldpc)−K_(ldpc))/M. Here,Q_(ldpc) is a cyclic shift parameter value regarding columns in a columngroup of an information word submatrix of a parity check matrix,N_(ldpc) is a length of an LDPC codeword, and K_(ldpc) is a length ofinformation word bits of an LDPC codeword.

Meanwhile, operation S1420 may include interleaving parity bits of theLDPC codeword, dividing the parity-interleaved LDPC codeword by aplurality of bit groups and rearranging the order of the plurality ofbit groups in bit group wise, and interleaving the plurality of bitgroups the order of which is rearranged.

The order of the plurality of bit groups may be rearranged in bit groupwise based on above-described Equation 21.

Meanwhile, π(j) in Equation 21 may be determined based on at least oneof a length of an LDPC codeword, a modulation method, and a code rate.

For example, when the LDPC codeword has the length of 16200, themodulation method is 64-QAM, and the code rate is 11/15, π(j) may bedefined as in Table 28.

As another example, when the LDPC codeword has a length of 16200, themodulation method is 64-QAM, and the code rate is 13/15, π(j) can bedefined as Table 19.

Meanwhile, at S1420, dividing the LDPC codeword into the plurality ofbit groups, rearranging the order of the plurality of bit groups in bitgroup wise, and interleaving the plurality of bit groups of which theorder is rearranged are included.

In this case, based on Equation 21, the order of the plurality of bitgroups can be rearranged in bit group wise.

Meanwhile, in Equation 21, π(j) can be determined based on at least oneof the length of the LDPC codeword, the modulation method, and the coderate.

As an example, when the length of the LDPC codeword is 16200, themodulation method is 64-QAM, and the code rate is 5/15, π(j) can bedetermined as Table 25.

However, this is merely exemplary, and π(j) may be defined as Tables15-31 described above.

The interleaving the plurality of bit groups may include: writing theplurality of bit groups in each of a plurality of columns in bit groupwise in a column direction, and reading each row of the plurality ofcolumns in which the plurality of bit groups are written in bit groupwise in a row direction.

In addition, the interleaving the plurality of bit groups may include:serially write, in the plurality of columns, at least some bit groupswhich are writable in the plurality of columns in bit group wise fromamong the plurality of bit groups, and then dividing and writing theother bit groups in an area which remains after the at least some bitgroups are written in the plurality of columns in bit group wise.

FIG. 38 is a block diagram illustrating a configuration of a receivingapparatus according to an exemplary embodiment.

Referring to FIG. 38, a receiving apparatus 3800 may comprise acontroller 3810, an RF receiver 3820, a demodulator 3830 and a serviceregenerator 3840.

The controller 3810 determines an RF channel and a PLP through which aselected service is transmitted. The RF channel may be identified by acenter frequency and a bandwidth, and the PLP may be identified by itsPLP ID. A specific service may be transmitted through at least one PLPincluded in at least one RF channel, for each component constituting thespecific service. Hereinafter, for the sake of convenience ofexplanation, it is assumed that all of data needed to play back oneservice is transmitted as one PLP which is transmitted through one RFchannel. In other words, a service has only one data obtaining path toreproduce the service, and the data obtaining path is identified by anRF channel and a PLP.

The RF receiver 3820 detects an RF signal from an RF channel selected bya controller 3810 and delivers OFDM symbols, which are extracted byperforming signal processing on the RF signal, to the demodulator 3830.Herein, the signal processing may include synchronization, channelestimation, equalization, etc. Information required for the signalprocessing may be a value predetermined by the receiving apparatus 3810and a transmitter according to use and implementation thereof andincluded in a predetermined OFDM symbol among the OFDM symbols and thentransmitted to the receiving apparatus.

The demodulator 3830 performs signal processing on the OFDM symbols,extracts user packet and delivers the user packet to a servicereproducer 3740, and the service reproducer 3840 uses the user packet toreproduce and then output a service selected by a user. Here, a formatof the user packet may differ depending on a service implementationmethod and may be, for example, a TS packet or a IPv4 packet.

FIG. 39 is a block diagram illustrating a demodulator according to anexemplary embodiment.

Referring to FIG. 39, a demodulator 3830 may include a frame demapper3831, a BICM decoder 3832 for L1 signaling, a controller 3833, a BICMdecoder 3834 and an output handler 3835.

The frame demapper 3831 selects a plurality of OFDM cells constitutingan FEC block which belongs to a selected PLP in a frame including OFDMsymbols, based on control information from the controller 3833, andprovides the selected OFDM cells to the BICM decoder 3834. The framedemapper 3831 also selects a plurality of OFDM cells corresponding to atleast one FEC block which includes L1 signaling, and delivers theselected OFDM cells to the BICM decoder 3832 for L1 signaling.

The BICM decoder for L1 signaling 3832 performs signal processing on anOFDM cell corresponding to an FEC block which includes L1 signaling,extracts L1 signaling bits and delivers the L1 signaling bits to thecontroller 3833. In this case, the signal processing may include anoperation of extracting an LLR value for decoding an LDPC codeword and aprocess of using the extracted LLR value to decode the LDPC codeword.

The controller 3833 extracts an L1 signaling table from the L1 signalingbits and uses the L1 signaling table value to control operations of theframe demapper 3831, the BICM decoder 3834 and the output handler 3835.FIG. 39 illustrates that the BICM decoder 3832 for L1 signaling does notuse control information of the controller 3833. However, when the L1signaling has a layer structure similar to the layer structure of theabove described L1 pre signaling and L1 post signaling, it is obviousthat the BICM decoder 3832 for L1 signaling may be constituted by atleast one BICM decoding block, and operation of this BICM decoding blockand the frame demapper 3831 may be controlled by L1 signalinginformation of an upper layer.

The BICM decoder 3834 performs signal processing on the OFDM cellsconstituting FEC blocks which belong to a selected PLP to extractBBF(Baseband frame)s and delivers the BBFs to the output handler 3835.In this case, the signal processing may include an operation ofextracting an LLR value for decoding an LDPC codeword and an operationof using the extracted LLR value to decode the LDPC codeword, which maybe performed based on control information output from the controller3833.

The output handler 3835 performs signal processing on a BBF, extracts auser packet and delivers the extracted user packet to a servicereproducer 3840. In this case, the signal processing may be performedbased on control information output from the controller 3833.

According to an exemplary embodiment, the output handler 3835 comprisesa BBF handler(not shown) which extracts BBP(Baseband packet) from theBBF.

FIG. 40 is a flowchart provided to illustrate an operation of areceiving apparatus from a moment when a user selects a service untilthe selected service is reproduced, according to an exemplaryembodiment.

It is assumed that service information on all services selectable by auser are acquired at an initial scan (S4010) prior to the user's serviceselection (S4020). Service information may include information on a RFchannel and a PLP which transmits data required to reproduce a specificservice in a current receiving apparatus. As an example of the serviceinformation, program specific information/service information (PSI/SI)in an MPEG2-TS is available, and normally can be achieved through L2signaling and an upper-layer signaling.

In the initial scan (S4010), comprehensive information on a payload typeof PLPs which are transmitted to a specific frequency band. As anexample, there may be information on whether every PLP transmitted tothe frequency band includes a specific type of data.

When the user selects a service (S4020), the receiving apparatustransforms the selected service to a transmitting frequency and performsRF signaling detection (S4030). In the frequency transforming operation(S4020), the service information may be used.

When an RF signal is detected, the receiving apparatus performs an L1signaling extracting operation from the detected RF signal (S4050).Then, the receiving apparatus selects a PLP transmitting the selectedservice, based on the extracted L1 signaling, (S4060) and extracts a BBFfrom the selected PLP (S4070). In S4060, the service information may beused.

The operation to extract a BBF (S4070) may include an operation ofdemapping the transmitted frame and selecting OFDM cells included in aPLP, an operation of extracting an LLR value for LDPC coding/decodingfrom an OFDM cell, and an operation of decoding the LDPC codeword usingthe extracted LLR value.

The receiving apparatus, using header information of an extracted BBF,extracts a BBP from the BBF (S4080). The receiving apparatus also usesheader information of an extracted BBP to extract a user packet from theextracted BBP (S4090). The extracted user packet is used to reproducethe selected service (S4100). In the BBP extraction operation (S4080)and user packet extraction operation (S4090), L1 signaling informationextracted in the L1 signaling extraction operation may be used.

According to an exemplary embodiment, the L1 signaling informationincludes information on types of a user packet transmitted through acorresponding PLP, and information on an operation used to encapsulatethe user packet in a BBF. The foregoing information may be used in theuser packet extraction operation (S1480). Specifically, this informationmay be used in an operation of extracting the user packet which is areverse operation of encapsulation of the user packet in the BBF. Inthis case, process for extracting user packet from the BBP(restoringnull TS packet and inserting TS sync byte) is same as above description.

A non-transitory computer readable medium, which stores a program forperforming the above encoding and/or interleaving methods according tovarious exemplary embodiments in sequence, may be provided.

The non-transitory computer readable medium refers to a medium thatstores data semi-permanently rather than storing data for a very shorttime, such as a register, a cache, and a memory, and is readable by anapparatus. The above-described various applications or programs may bestored in a non-transitory computer readable medium such as a compactdisc (CD), a digital versatile disk (DVD), a hard disk, a Blu-ray disk,a universal serial bus (USB), a memory card, and a read only memory(ROM), and may be provided. Although a bus is not illustrated in theblock diagrams of the transmitter apparatus and the receiver apparatus,communication may be performed between each element of each apparatusvia the bus. In addition, each apparatus may further include a processorsuch as a central processing unit (CPU) or a microprocessor to performthe above-described various operations.

At least one of the components, elements or units represented by a blockin illustrating the above-described transmitting apparatus and receivingapparatus may be embodied as various numbers of hardware, softwareand/or firmware structures that execute respective functions describedabove, according to an exemplary embodiment. For example, at least oneof these components, elements or units may use a direct circuitstructure, such as a memory, processing, logic, a look-up table, etc.that may execute the respective functions through controls of one ormore microprocessors or other control apparatuses. Also, at least one ofthese components, elements or units may be specifically embodied by amodule, a program, or a part of code, which contains one or moreexecutable instructions for performing specified logic functions, andexecuted by one or more microprocessors or other control apparatuses.Also, at least one of these components, elements or units may furtherinclude a processor such as a CPU that performs the respectivefunctions, a microprocessor, or the like. Two or more of thesecomponents, elements or units may be combined into one single component,element or unit which performs all operations or functions of thecombined two or more components, elements of units. Also, at least partof functions of at least one of these components, elements or units maybe performed by another of these components, element or units. Further,although a bus is not illustrated in the above block diagrams,communication between the components, elements or units may be performedthrough the bus. Functional aspects of the above exemplary embodimentsmay be implemented in algorithms that execute on one or more processors.Furthermore, the components, elements or units represented by a block orprocessing steps may employ any number of related art techniques forelectronics configuration, signal processing and/or control, dataprocessing and the like.

The foregoing exemplary embodiments and advantages are merely exemplaryand are not to be construed as limiting the present inventive concept.The exemplary embodiments can be readily applied to other types ofapparatuses. Also, the description of the exemplary embodiments isintended to be illustrative, and not to limit the scope of the inventiveconcept, and many alternatives, modifications, and variations will beapparent to those skilled in the art.

What is claimed is:
 1. A receiving apparatus comprising: a receiverconfigured to receive a signal from a transmitting apparatus; ademodulator configured to demodulate the signal to generate values basedon a 64-quadrature amplitude modulation (QAM); a deinterleaverconfigured to split the values into a plurality of groups anddeinterleave the plurality of groups to provide deinterleaved values;and a decoder configured to decode the deinterleaved values based on alow density parity check (LDPC) code having a code rate being 5/15 and acode length being 16200 bits, wherein the plurality of groups aredeinterleaved based on a following equation:Yπ(j)=Xj for (0≤j<N _(group)), where Xj is a jth group among theplurality of groups, Yj is a jth group among the deinterleaved pluralityof groups, Ngroup is a total number of the plurality of groups, and π(j)denotes a deinterleaving order for the deinterleaving, and wherein theπ(j) is defined as follows: Order of deinterleaving π(j) (0 ≤ j < 45) j0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2627 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 π(j) 25 44 8 39 372 11 7 0 12 4 31 33 38 43 21 26 13 28 29 1 27 18 17 34 3 42 10 19 20 3236 40 9 41 5 35 30 22 15 16 6 24 23 14


2. The apparatus of claim 1, wherein each of the plurality of groupscomprises 360 values.
 3. The apparatus of claim 1, wherein π(j) isdetermined based on at least one of the code length, a modulation methodfor the mapping, and the code rate.
 4. A receiving method comprising:receiving a signal from a transmitting apparatus; demodulating thesignal to generate values based on a 64-quadrature amplitude modulation(QAM); splitting the values into a plurality of groups; deinterleavingthe plurality of groups to provide deinterleaved values; and decodingthe deinterleaved values based on a low density parity check (LDPC) codehaving a code rate being 5/15 and a code length being 16200 bits,wherein the plurality of groups are deinterleaved based on a followingequation:Yπ(j)=Xj for (0≤j<N _(group)), where Xj is a jth group among theplurality of groups, Yj is a jth group among the deinterleaved pluralityof groups, Ngroup is a total number of the plurality of groups, and π(j)denotes a deinterleaving order for the deinterleaving, and wherein theπ(j) is defined as follows: Order of deinterleaving π(j) (0 ≤ j < 45) j0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2627 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 π(j) 25 44 8 39 372 11 7 0 12 4 31 33 38 43 21 26 13 28 29 1 27 18 17 34 3 42 10 19 20 3236 40 9 41 5 35 30 22 15 16 6 24 23 14


5. The method of claim 4, wherein each of the plurality of groupscomprises 360 values.
 6. The method of claim 4, wherein π(j) isdetermined based on at least one of the code length, a modulation methodfor the mapping, and the code rate.